1
我使用的JXPath打印所有節點和子節點在該XML添加節點使用的JXPath
<extracts>
<extract>
<id>1</id>
<features>
<feature>1</feature>
<feature>2</feature>
</extract>
</extracts>
這是我的代碼看起來像(即工作至少一部分添加到特徵標籤 - 它一些信息打印):
import org.apache.commons.jxpath.ri.model.*;
import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.jxpath.Pointer;
try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
ByteArrayInputStream bais = new ByteArrayInputStream(getBytesFromFile(file));
Document doc = builder.parse(bais);
JXPathContext jxpathCtx = JXPathContext.newContext(doc.getDocumentElement());
jxpathCtx.setLenient(true);
的我的要求的第一部分 - 這是打印這些節點 - 很簡單:
for (Iterator iter2 = jxpathCtx.iterate("/extract/*"); iter2.hasNext();)
{
System.out.println("\n Value is : " + iter2.next().toString() +"\n");
}
我的要求,第二部分是什麼令我心煩
我需要添加新條目--a新<功能> 3 < /功能下<extract>
編程
<features>
標記下
這可能是一起孤立節點線的東西 - 然後添加一個孩子 - 我只是不知道如何去做:
org.apache.commons.configuration.HierarchicalConfiguration.NodeNode node = (Node)jxpathCtx.selectNodes("/extract/lastruns/lastrun");
for (Element node : nodes)
{
}
任何想法/幫助將不勝感激