2011-10-12 50 views
0

我正在使用Java 6.給定一個org.w3c.dom.Node,給定一個表示這些元素之一的xpath String表達式,如何更改其子元素之一(或潛在的節點本身)的內容?注意「內容」,我總是指文本。如果由路徑表達式表示的子元素包含其他子元素,則這些元素應該消失並替換爲要替換的文本。如何使用xpath表達式更改org.w3c.dom.Node的一部分?

謝謝 - 戴夫

回答

0

首先,你會發現元素的XPath表達式點(使用簡單XPathAPI

// `node` is your node 
// `xpathExpr` is a String with the XPath expression 
// `elem` is is element pointed by the XPath expression 

Node elem = XPathAPI.selectSingleNode(node, xpathExpr); 

然後使用Node#setTextContentjavadoc):

在設置時,可以刪除此節點可能擁有的任何可能的子節點,並且如果它的新字符串不爲空或爲空,則由包含st的單個Text節點替換環此屬性設置爲。

elem.setTextContent("This is the new content. Old content, go away!"); 
+0

的問題更多的是關於我如何才能找到的節點的部分使用XPath表達式來設置。給出的是一個org.w3c.dom.Node對象,並將xpath表達式應用於該對象。 – Dave

+0

我編輯了答案:新的,你首先找到你關心的元素,然後設置它的文本內容。 – gioele