2011-09-30 31 views
34

XMLオブジェクトの作成に役立つコードを記述しようとしています。たとえば、文字列を関数への入力として与え、XMLObjectを返します。JavaでStringからXMLオブジェクトを作成する方法は?

XMLObject convertToXML(String s) {} 

ネットで検索していたときに、一般的にXML文書の作成に関する例がありました。だから私は、XMLを作成してファイルに書き込んでファイルを作成することについて見たすべてのことを知っています。しかし、私はそのようなことをしました:

Document document = new Document(); 
Element child = new Element("snmp"); 
child.addContent(new Element("snmpType").setText("snmpget")); 
child.addContent(new Element("IpAdress").setText("127.0.0.1")); 
child.addContent(new Element("OID").setText("1.3.6.1.2.1.1.3.0")); 
document.setContent(child); 

XMLオブジェクトを作成すれば十分でしょうか? XMLからデータを取得する方法を教えてください。たとえば、そのXMLからIpAdressを取得するにはどうすればよいですか?実は今、私は私がbase.xmlのようなファイルを持っているため、多分それははるかに容易になるだろう、私は例えばその中のすべての基本的なことを書き込むことを考えた::

はすべての多く

EDIT 1ありがとう

<snmp> <snmpType><snmpType> <OID></OID> </snmp> 

このファイルを使用してXMLオブジェクトを作成します。あれについてどう思う?

+0

XMLObjectの完全修飾名(FQN)を指定します。 xmlbeansを使用していますか? –

+0

最初の質問: 'XMLObject'とは何ですか?それはどのライブラリですか? –

+0

XMLObjectは単なる例です。文字列をパラメータとして取得し、XMLオブジェクトを返す関数が必要です。私は実装のためにjdomを使用しています。 – Ozer

答えて

70

のようなものを試してみてください -

String xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?><a><b></b><c></c></a>"; 

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder; 
try { 
    builder = factory.newDocumentBuilder(); 
    Document document = builder.parse(new InputSource(new StringReader(xmlString))); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

ドキュメントオブジェクトとxml解析ライブラリまたはxpathを使用して、IPアドレスを取得できます。

+0

"parse"はDOMドキュメントオブジェクトを返しますが、このコードのSAXバージョンを取得するにはどうしますか?ありがとう! – theexplorer

+0

ソースがなく、新しいDocumentオブジェクトを作成し、それに子を追加したい場合、最初にルート要素を作成する必要がありますか? –

10

あなたは簡単にXMLドキュメントオブジェクトなどにそれを変換することができ、文字列のXMLを作成することができる場合

public static Document loadXML(String xml) throws Exception 
{ 
    DocumentBuilderFactory fctr = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder bldr = fctr.newDocumentBuilder(); 
    InputSource insrc = new InputSource(new StringReader(xml)); 
    return bldr.parse(insrc); 
} 
関連する問題