0

大家好,我的任务是解析来自服务器的字符串。

字符串看起来像:

<first name=$Jon$ last name=$Doe$/><first name=$Doe$ last name=$Jon$/><first name=$r$ last name=$k$/>

所需的输出是:

first name: Jon
last name: Doe
-------------------
first name: Doe
last name: Jon
-------------------
first name: r
last name: k
-------------------

IE,

key: value

我做了一些简单的文本解析,其中包括一个简单的分隔符,如 $ 或 %。但在这种情况下,我不明白如何解析文本。您的帮助将非常有帮助。

4

3 回答 3

0

将服务器的 xml 字符串中的 $ 替换为 ",将其加载为 xml 文档,使用 XPath 或其他一些机制来解析您需要的信息

于 2013-09-19T10:57:29.800 回答
0

可以有多种方法来解决问题

  1. 可以将 XSLT 与 Java 一起使用。(Java 提供了 TransformerFactory、Transformer 等 API)
  2. 可以像eclipse一样在IDE中使用XSLT。几个插件可用。

可以看看这个www.vogella.com/articles/XSLT/article.html

  1. 可以使用unix脚本来做同样的事情。

    如何使用 unix shell 脚本将 xml 文件转换为属性文件

这不是您问题的确切解决方案,而是您可以尝试的解决方案。同样,可以肯定还有许多其他方式。

于 2013-09-19T11:07:00.097 回答
0
        Matcher keys = Pattern.compile("[<\\s)](.*?)[=]").matcher(string);
        Matcher values = Pattern.compile("[$](.*?)[$]").matcher(string);
        while(keys.find() && values.find()) {
            System.out.println(keys.group(1)+" : "+values.group(1));
        }
于 2013-09-19T11:14:06.687 回答