Java 如何将包含XML格式内容的字符串转换为JDom文档

Java 如何将包含XML格式内容的字符串转换为JDom文档,java,eclipse-plugin,sax,jdom,jdom-2,Java,Eclipse Plugin,Sax,Jdom,Jdom 2,如何将包含XML格式内容的字符串转换为JDom文档 我正在使用以下代码进行尝试: String docString = txtEditor.getDocumentProvider().getDocument( txtEditor.getEditorInput()).get(); SAXBuilder sb= new SAXBuilder(); doc = sb.build(new StringReader(docString)); 有人能帮我解决以上问题吗。 提前谢谢 这就是通常将xml解

如何将包含XML格式内容的字符串转换为JDom文档

我正在使用以下代码进行尝试:

String docString = txtEditor.getDocumentProvider().getDocument(
txtEditor.getEditorInput()).get();

SAXBuilder sb= new SAXBuilder();

doc = sb.build(new StringReader(docString));
有人能帮我解决以上问题吗。
提前谢谢

这就是通常将xml解析为文档的方式

try {
  SAXBuilder builder = new SAXBuilder();
  Document anotherDocument = builder.build(new File("/some/directory/sample.xml"));
} catch(JDOMException e) {
  e.printStackTrace();
} catch(NullPointerException e) {
  e.printStackTrace();
}
这是从

如果您有字符串,您可以将其转换为InputStream,然后传递它

String exampleXML = "<your-xml-string>";
InputStream stream = new ByteArrayInputStream(exampleXML.getBytes("UTF-8"));
Document anotherDocument = builder.build(stream);
String exampleXML=”“;
InputStream=新的ByteArrayInputStream(例如xml.getBytes(“UTF-8”);
Document anotherDocument=builder.build(流);

对于builder.build()所支持的各种参数,您可以浏览一下

,这是一个常见问题解答,应该有一个比实际常见问题解答更容易访问的答案:

所以,我创造了

值得一提的是,我之前已经改进了这种情况下的错误消息(请参阅,现在您应该有一个错误,显示:

MalformedURLException mx = new MalformedURLException(
    "SAXBuilder.build(String) expects the String to be " +
    "a systemID, but in this instance it appears to be " +
    "actual XML data.");
底线是您应该使用:

Document parseddoc = new SaxBuilder().build(new StringReader(myxmlstring));

rolfl

感谢您的快速响应。您粘贴的代码可以使用特定路径上可用的文件创建新文档。但在我的例子中,我需要创建/转换一个包含XML格式内容的字符串到文档中。是的,代码可以从现有的.XML文件创建新文档。但这里我没有任何XML文件。我从其他地方获取此字符串(其内容为xml格式)。正如您所看到的,我的代码是:string docString=txtEditor.getDocumentProvider().getDocument(txtEditor.getEditorInput()).get();sry..解决了输入错误问题..exampleXML是xml格式的字符串实际上,我粘贴的代码似乎也工作得很好。我的代码中的其他地方也有问题。但感谢您对此进行了研究。您提供了不同的方法来实现这一点。希望此方法对任何人都有帮助。实际上,我粘贴的代码似乎也工作得很好很好。我的代码中的其他地方有问题。但是谢谢你调查这个问题。