Как создать объект XML из String в Java?
Я пытаюсь написать код, который помогает мне создать объект 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. Что ты об этом думаешь?
Ответы
Ответ 1
Если вы можете создать строку 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-адрес.
Ответ 2
попробуйте что-то вроде
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);
}