2

我在 Java 代码中有一个字符串变量,由下面的 XML 分配。

<note>
<to>Joy</to>
<from>Jaquie</from>
<heading>
Reminder email about product <a id="123" title ="product serial number 123"></a> </heading>
<body>Don't  forget to see the webURL <a id="123" title ="product serial number 123"> this a very useful product</a> and also see this product <a id="245"  title="product serial number 245"> this is certainly useful product</a></body>
</note>

我有一个 API 方法,它返回与标签 ID 对应的自定义标题。

public String CustomTitle(String id) {

  -----
  -----
  -----
  return " This is custom title for this web url";
}

现在在上面的 XML 中,我必须用上面 API 方法返回的新 custumTitle 替换驻留在 and 中的标签的标题。

我想在某个地方我可能需要使用正则表达式或一些复杂的 JAVA 字符串操作。

有人可以帮我解决这个问题。

注意 - 我是 JAVA 的新手,SAXParser 和 DOM 对我来说也是新的。我陷入了一些关键的生产问题,所以请您为我的问题提供代码。

4

1 回答 1

0

您需要查看SAXParser当您在XML.
然后,在标签内部时,它会为您提供标签中的数据。它还会让您知道您何时在标签之外(标签已结束)。
教程:http ://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/

其他解析器是DOMand StAX
DOM当您需要 XML 文档的内存树表示然后您可以使用XPath表达式获取特定节点时使用。
斯塔克斯是Streaming API for XML。当您需要通过网络传输数据时,您需要它。

如果您感觉有点冒险,请查看JAXB. JAXB 允许您将 XML 直接映射到类文件。
Blaise Doughan 的详细教程:http: //blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison.html

于 2013-10-09T16:22:19.030 回答