1

xpath は xml doc の値を置き換えることができますか?

以下はすべての名前要素を取得しますが、どうすればそれらを置き換えることができますか?

<accounts>
<account>
<name>Johndoe1<name>
<account>
<account>
<name>Johndoe2<name>
<account>
</account>

XPathExpression fax = xpath.compile("/accounts/account/name")
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
    System.out.println(nodes.item(i).getNodeValue()); 
}
4

2 に答える 2

1

xpathはxmlドキュメントの値を置き換えることができますか?

いいえ、XPathはXMLドキュメントのクエリ言語です。そのため、XMLドキュメントからノードとデータを抽出するだけで、XMLドキュメントを変更(ノードの追加、置換、削除)することはできません。

XMLドキュメントの処理により、元のドキュメントとは異なる別のXMLドキュメントが作成される場合、これはXML変換と呼ばれます。XSLTは、XML変換用に特別に設計された言語であり、そのような処理に最も自然な選択です。

于 2012-12-05T13:36:39.107 に答える
0

XPath は、ドキュメント内のノードを識別するだけです。これらの要素を削除するには、DOM API を使用する必要があります。をトラバースしながら要素を削除する方法の詳細については、こちらを参照してくださいNodeList

于 2012-12-05T11:16:05.097 に答える