下面是输入和预期输出xml。我正在使用JDOM解析器
输入:
<emp:transactions xmlns:emp="http://www.emp.com/dept"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="">
<emp:transaction xmlns:dept="http://www.emp.com/emp">
<emp:empBooking emp:bookingNbr=""/>
</emp:transaction>
</emp:transactions>
预期产出:
<emp:transactions xmlns:emp="http://www.emp.com/dept"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="">
<emp:transaction xmlns:dept="http://www.emp.com/emp">
<emp:empBooking emp:bookingNbr=""/>
<emp:flexStringFields>
<emp:flexString01>emp flex 1</emp:flexString01>
</emp:flexStringFields>
</emp:transaction>
</emp:transactions>
代码:
SAXBuilder builder = new SAXBuilder();
Reader in = new StringReader(xmlAsString);
Document document = (Document)builder.build(in);
Element rootNode = document.getRootElement();
List<Element> list = rootNode.getChildren (
"transaction",
Namespace.getNamespace("NS1", "http://www.emp.com/dept")
);
for(Element transaction: list) {
// ...
}
我不确定如何添加名称空间为emp:flexStringFields
的元素emp
及其子emp:flexString01
请问如何添加它?
答案 0 :(得分:0)
以下工作正常:
Element flexStringField = new Element (
"flexStringFields",
"emp",
Namespace.getNamespace("NS1", "http://www.emp.com/dept").getURI()
);
content.addContent(flexStringField);