5

(免責事項: RingoJS 内で Rhino を使用)

要素を持つドキュメントがあるとしましょう。この要素にノードを文字列として追加する方法がわかりません。文字列を xml ノードに解析してノードに追加するために、documentFragment を使用しようとしましたが、どこにも到達できませんでした。要するに、.NET の .innerXML と同じくらい簡単なものが必要ですが、それは Java API にはありません。

var dbFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
var dBuilder = dbFactory.newDocumentBuilder();
var doc = dBuilder.newDocument();
var el = doc.createElement('test');
var nodesToAppend = '<foo bar="1">Hi <baz>there</baz></foo>';
el.appendChild(???);

サードパーティのライブラリを使用せずにこれを行うにはどうすればよいですか?

[編集] 例では明らかではありませんが、変数 'nodesToAppend' の内容を知る必要はありません。ですから、xml ドキュメントで要素を作成する方法についてのチュートリアルを教えてはいけません。

4

2 に答える 2

13

これは Java で行うことができます。Rhino に相当するものを導出できるはずです。

DocumentBuilderFactory dbFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.newDocument();
Element el = doc.createElement('test');
doc.appendChild(el);


String xml = "<foo bar=\"1\">Hi <baz>there</baz></foo>";
Document doc2 = builder.parse(new ByteArrayInputStream(xml.getBytes()));

Node node = doc.importNode(doc2.getDocumentElement(), true);
el.appendChild(node);

docdoc2は 2 つの異なるs であるためDocument、秘訣はノードをあるドキュメントから別のドキュメントにインポートすることです。これはimportNode上記の APIで行われます。

于 2012-10-28T16:53:31.513 に答える
0

あなたの質問はこの質問のようなもので、答えがあると思います: Java: How to read and write xml files?

または、このリンクを参照してくださいhttp://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/

于 2012-10-28T13:12:54.610 に答える