Преобразование строкового содержимого в XMLStreamReader

Привет, Я хотел бы знать, как мы можем преобразовать содержимое строки, которая находится в форме тега XML, и мне нужно преобразовать его в XMLStreamReader

Ответ 1

Вы можете использовать XMLInputFactory.createXMLStreamReader, передав StringReader, чтобы обернуть вашу строку.

String text = "<foo>This is some XML</foo>";
Reader reader = new StringReader(text);
XMLInputFactory factory = XMLInputFactory.newInstance(); // Or newFactory()
XMLStreamReader xmlReader = factory.createXMLStreamReader(reader);

Ответ 2

Я предполагаю, что вы хотите читать XML-контент с String через XMLStreamReader. Вы можете сделать это вот так:

public XMLStreamReader readXMLFromString(final String xmlContent)
{
    final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
    final StringReader reader = new StringReader(xmlContent);
    return inputFactory.createXMLStreamReader(reader);
}

Ответ 3

//Intialize XMLInputFactory
XMLInputFactory factory = XMLInputFactory.newInstance();

//Reading from xml file and creating XMLStreamReader
XMLStreamReader reader = inputFactory.createXMLStreamReader(new FileInputStream(
               file));
String currentElement = "";

//Reading all the data
while(reader.hasNext()) {
   int next = reader.next();
   if(next == XMLStreamReader.START_ELEMENT)
       currentElement = reader.getLocalName();
   //System.out.println(currentElement);
}