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