将简单的XML文档从URL解析为String变量

时间:2017-11-12 15:47:10

标签: java xml parsing

我试图将http://localhost:8000上的服务器上的XML读入字符串变量。

XML文档的布局非常简单,当指向http://localhost:8000时,会显示以下内容:

System.out.println(XMLVariable) 

是否有一种简单的方法可以将其解析为localhost URL中的String变量,例如,如果我要运行:

hibernate-tools

(其中XMLVariable是存储内容的字符串变量),命令行的输出只是“Hello World”?

2 个答案:

答案 0 :(得分:0)

您需要将服务器的响应解析为某种XML数据结构。

我(Java)知道的最简单方法是使用dom4j

它可以像这样简单......

function totalIt() {
  var input = document.getElementsByName("product");
  var total = 0;
  for (var i = 0; i < input.length; i++) {
    if (input[i].click) {
      total += parseFloat(input[i].value);
    }
  }
  document.querySelector(".priceText1").innerText = "$" + total.toFixed(2);
}

答案 1 :(得分:0)

您可以使用StAX来解析响应:

private Optional<String> extractResultValue(String xml) throws XMLStreamException {
    final XMLInputFactory factory = XMLInputFactory.newInstance();
    final XMLEventReader reader = factory.createXMLEventReader(new StringReader(xml));
    while (reader.hasNext()) {
        XMLEvent event = reader.nextEvent();
        if (event.isCharacters()) {
            return Optional.ofNullable(event.asCharacters().getData());
        }
    }
    return Optional.empty();
}

示例电话:

extractResultValue("<Your data from server>")
extractResultValue("<result>Hello World</result>") // Optional[Hello World]
extractResultValue("<result></result>") // Optional.empty
extractResultValue("<test>value</test>") // Optional[value]