gpt4 book ai didi

Java Transformer 输出 < 和 > 而不是 <>

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:55:52 26 4
gpt4 key购买 nike

我正在通过添加更多节点使用 Transformer 在 Java 中编辑 XML 文件。旧的 XML 代码未更改,但新的 XML 节点具有 <> 而不是 <> 并且位于同一行。如何获取 <> 而不是 <> 以及如何在新节点之后获取换行符。我已经阅读了几个类似的线程,但无法获得正确的格式。这是代码的相关部分:

// Read the XML file

DocumentBuilderFactory dbf= DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc=db.parse(xmlFile.getAbsoluteFile());
Element root = doc.getDocumentElement();


// create a new node
Element newNode = doc.createElement("Item");

// add it to the root node
root.appendChild(newNode);

// create a new attribute
Attr attribute = doc.createAttribute("Name");

// assign the attribute a value
attribute.setValue("Test...");

// add the attribute to the new node
newNode.setAttributeNode(attribute);



// transform the XML
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
StreamResult result = new StreamResult(new FileWriter(xmlFile.getAbsoluteFile()));
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);

谢谢

最佳答案

要替换 > 和其他标签,您可以使用 org.apache.commons.lang3:

StringEscapeUtils.unescapeXml(resp.toString());

之后,您可以使用转换器的以下属性在您的 xml 中换行:

transformer.setOutputProperty(OutputKeys.INDENT, "yes");

关于Java Transformer 输出 < 和 > 而不是 <>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17280965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com