与えられたNode
のサブツリー全体(属性、コメント、名前空間宣言を含む)を表すNodeList
をDocument
に生成する必要があります。明示的なノード参照を与えられた "サブツリー" NodeListを作成する
のは、私の文書はこのように見えたと仮定しましょう:私の結果の選択は、サブツリー
に相当するであろうように、<?xml version="1.0"?>
<my:root xmlns:my="http://www.my.com/#">
<my:element type="1">
<my:content green="true">
<xx:content xmlns:xx="http:://www.xx.com/#"/>
</my:content>
</my:element>
</my:root>
は今、私が欲しいもの、その要素自体を含むすべてのサブノードを選択することです
<my:element type="1">
<my:content green="true">
<xx:content xmlns:xx="http:://www.xx.com/#"/>
</my:content>
</my:element>
)これをどうすれば達成できますか? type属性は一意であると仮定できますか?私は現在、XPath式を使用しています
/descendant-or-self::node()[@type='1']/descendant-or-self::node()
これを行うより良い方法はありますか?
b)別のシナリオでは、明示的にNode
の参照が与えられていますが、DOM内のコンテキストを知らなくても、記述する特性を使用して「アンカーノード」を巧みに選択する手段がありません。特定のノードのサブツリーを選択するNode
参照からXPath式を派生させる方法はありますか?または、この場合、ノードとその子を反復処理することによって手動でNodeList
を生成する唯一のチャンスですか?