0

こんにちはみんな、私はxmlに問題があります、それは-ノードの前にあり、xpathでこれを適切に処理する方法がわからないので、xmlは次のようになります

<xml>
 <item>
 -<description>
  -<type>
   </type>
  </description>
 </item>
</xml>

だから、誰かが間違った答えを出すのを無駄にする直前に、xpathと入力するようにナビゲートするにはどうすればよいですか?$ xml-> item-> description-> typeの通常の方法を試しましたが、この場合は機能しません私は知りません名前の違法な文字ではないので、ノードの前に-を処理する方法

4

1 に答える 1

2

実際に機能することを指摘するのは時間の無駄ではないと思います/xml/item/description/type ( XmlSpy の XPath 1.0 および 2.0 で)。

そうは言っても、おそらく、xml にこれらの「-」文字が本当に必要ないのではないかと思います。おそらく、より適切な質問は、「xml から余分な「-」文字を削除するにはどうすればよいですか?」ということでしょう。

編集:

以下は、私が嘘をついていないことを示すために、 SimpleXMLElement のドキュメントを一部改変した PHPです。

<?php
    $string =
    "<xml>
     <item>
     -<description>
      -<type>
          Hello World!
       </type>
      </description>
     </item>
    </xml>";

    $xml = new SimpleXMLElement($string);

    $path = '/xml/item/description/type';

    $result = $xml->xpath('/xml/item/description/type');

    while(list( , $node) = each($result)) {
        echo '$path: ',$node,"\n";
    }
?>

出力:

/xml/item/description/type:
    Hello World!

さらにヘルプが必要な場合は、問題を再現する簡単な例を提供してください。

(私のPHPが悪い場合は申し訳ありません。私は少し錆びています)

于 2012-08-21T14:37:44.440 に答える