gpt4 book ai didi

java - 如何在解析 XML 并将它们作为新 XML 文件写回时保留转义字符,如 "或 < 或 >

转载 作者:搜寻专家 更新时间:2023-11-01 03:50:55 32 4
gpt4 key购买 nike

以下是使用的代码,下面的元素内容被更改,这是通过替换转义字符不需要的,

  <SelectionFilter>event.ProductType == &quot;CM_Media_Server&quot; and event.ProductVer == &quot;3.0.0.6&quot; and event.ProductPatch == &quot;0&quot;</SelectionFilter>

<SelectionFilter>event.ProductType == "CM_Media_Server" and event.ProductVer == "3.0.0.6" and event.ProductPatch == "0"</SelectionFilter>

下面是使用的代码,

         Document xmlDocument = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(SourceXMLFile);
XPath xPath = XPathFactory.newInstance().newXPath();
XPathExpression exprPre = xPath
.compile("/SPIRITConfiguration/@Version");
NodeList list = (NodeList) exprPre.evaluate(xmlDocument,
XPathConstants.NODESET);
for (int i = 0; i < list.getLength(); i++) {
list.item(i).setTextContent(ModelVersion.getValue());
}

// write the content back into new renamed xml file
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(xmlDocument);
StreamResult result = new StreamResult(new File(DestxmlFile));
transformer.transform(source, result);

请帮我解决这个问题。提前谢谢你。

最佳答案

在您的 DocumentBuilderFactory 上,您可以调用 setExpandEntityReferences 方法来关闭设置:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setExpandEntityReferences(false);
Document xmlDocument = factory.newDocumentBuilder().parse(SourceXMLFile);

关于java - 如何在解析 XML 并将它们作为新 XML 文件写回时保留转义字符,如 "或 &lt 或 &gt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28621854/

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