pasar - ¿Cómo crear un objeto XML desde String en Java?
string to xml file java (2)
Estoy tratando de escribir un código que me ayude a crear un objeto XML. Por ejemplo, daré una cadena como entrada a una función y me devolverá un XMLObject.
XMLObject convertToXML(String s) {}
Cuando buscaba en la red, generalmente veía ejemplos sobre cómo crear documentos XML. Así que todas las cosas que vi sobre la creación de un XML y escribir en un archivo y crear el archivo. Pero he hecho algo así:
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);
¿Crees que es suficiente para crear un objeto XML? ¿Y también pueden ayudarme a obtener datos de XML? Por ejemplo, ¿cómo puedo obtener la IpAdress
de ese XML?
Muchas gracias a todos
EDIT 1: En realidad, ahora pensé que tal vez sería mucho más fácil para mí tener un archivo como base.xml
. Escribiré todas las cosas básicas en eso, por ejemplo:
<snmp>
<snmpType><snmpType>
<OID></OID>
</snmp>
y luego use este archivo para crear un objeto XML. ¿Qué piensas sobre eso?
Si puede crear una cadena xml, puede transformarla fácilmente en el objeto de documento xml, por ejemplo:
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();
}
Puede usar el objeto de documento y las bibliotecas de análisis xml o xpath para recuperar la dirección IP.
intenta algo como
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);
}