0

重複の可能性:
Java-XMLでアンパサンドエスケープを無効化/回避する方法は?

(xmlファイルに)次のようなものを作成する必要があります∧。問題は、使用しているJava技術がそれを∧私にとって機能しないものに変換することです。私はそれを最初のフォーマットで必要としています。だから、問題は、それを何らかの方法で回避する方法、またはそのようにする方法はあり∧ますか?エクスポートには、ここと同じ方法を使用しています:リンク

4

4 に答える 4

2

これは、あなたの望むことですか?

    DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = f.newDocumentBuilder();

    Document d = builder.newDocument();
    Element root = d.createElement("root");
    d.appendChild(root);
    root.setTextContent("this text contains the \u2227 character");

    Transformer t = TransformerFactory.newInstance().newTransformer();
    t.setOutputProperty(OutputKeys.ENCODING, "US-ASCII");
    t.setOutputProperty(OutputKeys.INDENT, "yes");
    t.transform(new DOMSource(d), new StreamResult(System.out));

生産する

<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<root>this text contains the &#8743; character</root>
于 2012-11-06T17:14:25.640 に答える
1

これを行う方法は、を使用すること&amp;です。通常、それは機能します。うまくいかない場合は、いくつかのコード スニペットを投稿してください。

于 2012-11-06T15:29:26.373 に答える
0

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

Document doc = documentBuilder.newDocument();
Element root= doc.createElement("root");
doc.appendChild(root);

Document newDoc = documentBuilder.parse(new InputSource(new StringReader("<element defaulttext=\"&#8743;\">some text or XML</element>")));

Element newElement = newDoc.getDocumentElement();
Node node = doc.importNode(newElement, true);

root.appendChild(node);
于 2012-11-07T19:00:31.257 に答える
0

問題は、XML を手動でエンコードしようとしていることにあると思います。

試す:

  • ユーザー入力を Java 文字列に変換する
  • Java String から XML String への変換は XML ライブラリに任せます。
于 2012-11-06T16:02:50.940 に答える