문제

How convert String having contents in XML format into JDom document.

i am trying with below code:

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

SAXBuilder sb= new SAXBuilder();

doc = sb.build(new StringReader(docString));

Can any one help me to resolve above problem. Thanks in advance!!

도움이 되었습니까?

해결책

This is how you generally parse an xml to Document

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();
}

This is taken from JDOM IBM Reference

In case you have string you can convert it to InputStream and then pass it

String exampleXML = "<your-xml-string>";
InputStream stream = new ByteArrayInputStream(exampleXML.getBytes("UTF-8"));
Document anotherDocument = builder.build(stream);

For the various arguments builder.build() supports you can go through the api docs

다른 팁

This is a FAQ that shold have an answer more accessible than the actual FAQ: How do I build a document from a String?

So, I have created issue #111

For what it's worth, I have previously improved the error messages for this situation (see the previous issue #63 and now you should have an error that says:

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.");

Bottom line is that you should be using:

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

rolfl

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top