我有像
这样的XML<?xml version="1.0" encoding="UTF-8" standalone="no"?><root>
<parameters>
<param>
<name>john</name>
<age>18</age>
</param>
</parameters>
并希望将其转换为
<?xml version="1.0" encoding="UTF-8" standalone="no"?><root>
<parameters>
<L1>
<param>
<name>john</name>
<age>18</age>
</param>
</L1>
</parameters>
以编程方式使用DOM Java API来封装标记
答案 0 :(得分:0)
如果您想以编程方式执行此操作,可以执行以下操作:
// load document
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(url.toURI().toString());
// Transform document
Element root = doc.getDocumentElement();
Element elm = doc.createElement("L1");
while (root.hasChildNodes()) {
Node child = root.getFirstChild();
root.removeChild(child);
elm.appendChild(child);
}
root.appendChild(elm);
// Output to console for testing
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
但你宁愿使用XSLT样式表(无论如何你都在使用变换器)。