gpt4 book ai didi

java - 如何在 Java 中将字符串转换为 DOMSource?

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

我需要一些帮助。在我的 String 文件数据变量中,我存储了一个 XML 文档。现在我想将此变量转换为 DOMSource 类型并使用此代码:

DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = db.parse( new InputSource( new StringReader( filedata ) ) );
DOMSource source = new DOMSource(doc);

并通过 javax.xml.transform.Transformer 进行转换:

 Transformer transformer = XMLTransformerFactory.getTransformer(messageType);
StreamResult res = new StreamResult(flatXML);
transformer.transform(source, res);

但是我的flatXML转换后是空的。我检查了我的 doc 变量,它包含我的 XML 文档并正确解析了所有内容。如果我将源更改为真实路径,一切正常并且工作正常:

 Source source = new StreamSource("c:\\temp\\log\\SMKFFcompleteProductionPlan.xml");

我认为我的问题出在这行代码中:

DOMSource source = new DOMSource(doc);

但我不知道如何解决这个问题。

最佳答案

您为什么要构建 DOMSource?如果您只需要一个源作为转换的输入,那么提供 StreamSource 会更有效,您可以这样做

new StreamSource(new StringReader(fileData))

最好也提供一个 systemId。构建 DOM 是浪费时间。

关于java - 如何在 Java 中将字符串转换为 DOMSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650469/

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