0

我正在尝试这样做:

我有几千个 xml 文件,我正在阅读它们,我正在寻找带有特定标签的 xml 中的特殊文本,但是那些具有我需要的文本的标签是不同的。到目前为止我所做的是:

$xml_filename = "xml/".$anzeigen_id.".xml";
    $dom = new DOMDocument();
    $dom->load($xml_filename);
    $value = $dom->getElementsByTagName('FormattedPositionDescription');
    foreach($value as $v){
        $text = $v->getElementsByTagName('Value');
        foreach($text as $t){
            $anzeige_txt = $t->nodeValue;
            $anzeige_txt = utf8_decode($anzeige_txt);
            $anzeige_txt = mysql_real_escape_string($anzeige_txt);
            echo $anzeige_txt;
            $sql = "INSERT INTO joinvision_anzeige(`firmen_id`,`anzeige_id`,`anzeige_txt`) VALUES ('$firma_id','$anzeigen_id','$anzeige_txt')";
            $sql_inserted = mysql_query($sql);
            if($sql_inserted){
                echo "'$anzeigen_id' from $xml_filename inserted<br />";
            }else{
                echo mysql_errno() . ": " . mysql_error() . "\n";
            }
        }
    }

现在我需要做的是:

在 xml 中查找FormattedPositionDescription,如果那里没有此标记,则anothertag在同一个 xml 文件中查找..

我该怎么做,提前感谢您的帮助

4

1 回答 1

2

只需检查以下length属性DOMNodeList

$value = $dom->getElementsByTagName('FormattedPositionDescription');

if($value->length > 0)
{
    // found some FormattedPositionDescription
}
else
{
    // didn't find any FormattedPositionDescription, so look for anothertag
    $list = $dom->getElementsByTagName('anothertag');
}
于 2012-12-14T08:46:22.840 回答