Javaで文字列をDOMドキュメントオブジェクトに変換するにはどうすればいいですか? 質問する

Javaで文字列をDOMドキュメントオブジェクトに変換するにはどうすればいいですか? 質問する

XMLを取得し、XML要素をドキュメントオブジェクトに変換し、すでに作成されている要素の値と属性を取得するようなケースがあります。

これは文字列をDOMドキュメントオブジェクトに変換しようとしたコードの一部です。

String xmlString = " <r><e>d</e></r>";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
org.w3c.dom.Document document = builder.parse(new InputSource(new StringReader(xmlString)));    
TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result =  new StreamResult(new StringWriter());
transformer.transform(source, result);
String str1 = result.getWriter().toString();
System.out.println(str1);

しかし、このケースは属性のない要素にのみ有効です。

String xmlString = "<element attribname="value" attribname1="value1"> pcdata</element>"

属性値「値」に二重引用符を使用しています。コンパイラはエラーを表示します

このシナリオを処理するための XML エンコーダーとデコーダーがあるかどうか教えてください。

ベストアンサー1

あなたが試すことができます

DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader("<root><node1></node1></root>"));

Document doc = db.parse(is);

これを参照してくださいhttp://www.java2s.com/Code/Java/XML/ParseanXMLstringUsingDOMandaStringReader.htm

おすすめ記事