Разбор с XPath xml документа. Зачем добавлять <xml tag в качестве заголовка> в результат?

1

Сначала я искал в google, и я нашел много результатов о том, как анализировать XML-документ xpath. Я разбираю его, но хочу преобразовать NODELIST в String, и я создал для него метод:

private String processResult(Document responseDocument) throws XPathExpressionException,       TransformerException {
   NodeList soaphead = responseDocument.getElementsByTagName("xmlTagToTrasform"); 
   StringWriter sw = new StringWriter(); 
   Transformer serializer = TransformerFactory.newInstance().newTransformer(); 
   serializer.transform(new DOMSource(soaphead.item(0)), new StreamResult(sw)); 
   String result = sw.toString();
   return result;
}

Этот метод работает отлично, но трансформатор добавляет <?xml version="1.0" encoding="UTF-8"?> В заголовок результата, и я не хочу этого. Это результат метода:

<?xml version="1.0" encoding="UTF-8"?>
<xmlTagToTrasform>
  <xmlTagToTrasform2>
        .
        .
        .
        .
  </xmlTagToTrasform2>
</xmlTagToTrasform>
  • 0
    Решения в xpath приветствуются! У меня есть документ XML, я хочу извлечь только содержимое этого тега со всеми тегами внутри. Я пытаюсь безрезультатно
Теги:
xpath

2 ответа

6
Лучший ответ

Вы можете настроить трансформатор, чтобы не выводить декларацию XML, прежде чем вы вызовете transform:

serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
  • 0
    Я попробую и скажу. Спасибо
-4

XML - это язык разметки, и каждый XML-документ имеет эту строку вверху, чтобы указать версию и тип кодировки. Это безумно иметь это.

  • 0
    Нет, это абсолютно не обязательно. Допустимо иметь документ без объявления документа.
  • 0
    Как я могу удалить это без использования анализа строки?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню