2017-11-21 17 views
0

xdmnodeの内部テキストを変更するにはどうすればいいですか?私の要件は、xdmnodeのinnertextを別のxdmnodeから抽出したxpathvalueに置き換えることです。 xmldocumentを実装するのは簡単です。 xdmnodesにこれを実装する手掛かりがありますか?xdmnode(SAXON)の内部テキストを置換えますか?

答えて

1

通常、XPathとXQueryは変更不可能なツリーで動作するため、デフォルトのツリーモデルでは設定子を見つけることは期待しないでください。 XQueryの一般的なアプローチは、変更されたツリーを返すクエリを記述することです。

あなたがXmlDocumentInnerTextと言いましたように、私はあなたが.NETプラットフォーム上でSaxonで作業すると仮定します。そこには、ラップされたXmlDocumentノードに対してXPath 2または3を書いてから、MS .NET DOM APIに戻ってノードを操作するオプションもあります。 InnerText。あなたはXmlNodeにアクセスし、そのInnerTextを設定するhttps://www.saxonica.com/html/documentation/dotnetdoc/Saxon/Api/XdmNode.html#getUnderlyingXmlNode()を呼び出すことができXdmNodeを選択したら

https://www.saxonica.com/html/documentation/dotnetdoc/Saxon/Api/DocumentBuilder.html#Wrap(System.Xml.XmlDocument)あなたが、その後、文書をラップすることができます。

1

XdmNodeモデルは、主にXSLTやXQueryなどの関数型言語での使用を目的としているため、変更できないように設計されています。しかし、XdmNodeの実装には、基礎となるノードモデル(MicrosoftのXmlDocumentを含む)をラップするものがありますが、その中には変更可能なものもあり、下位レベルのインターフェイスを使ってダイビングをやり直すことはできません。

関連する問題