45

XMLオブジェクトの作成に役立つコードを作成しようとしています。たとえば、関数への入力として文字列を指定すると、XMLObjectが返されます。

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からデータを取得する方法を教えてください。たとえば、IpAdressそのXMLからを取得するにはどうすればよいですか?

どうもありがとうございました

編集1:実際、今では、のようなファイルを作成する方がはるかに簡単だと思いbase.xmlました。たとえば、すべての基本的なことをそのファイルに書き込みます。

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

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

4

2 に答える 2

86

文字列xmlを作成できる場合は、それをxmlドキュメントオブジェクトに簡単に変換できます。例:-

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アドレスを取得できます。

于 2011-09-30T07:48:50.423 に答える
11

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

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);
}
于 2011-09-30T07:47:53.933 に答える