1

我正在尝试创建一个字符串,我希望它具有这种形式:

      <atom:link rel="name" type="html" href="http://www/data/name/1"/>

我正在尝试这个:

     String astring = "<atom:link rel="+"name"+" "+"type="+"html"+" "+"href="+"http://www/data/name/"+id+"/>"

我拿这个:

&lt;atom:link rel=name type=html href=http://www/data/name/1/&gt;

有什么想法吗?

4

5 回答 5

6

双引号必须在字符串文字中用反斜杠转义:

String astring = "<atom:link rel=\"name\" type=\"html\" href=\"http://www/data/name/1\"/>";
于 2012-05-23T10:12:34.923 回答
2

看一下 StringEscapeUtils

于 2012-05-23T10:13:52.023 回答
1

试试这个:

String astring = "<atom:link rel="+"\"name\""+" "+"type="+"\"html\""+" "+"href="+"\"http://www/data/name/"+id+"\"/>"

您需要转义"字符串中的字符,通过在它前面加上反斜杠来实现:\"

于 2012-05-23T10:13:34.107 回答
0

无意冒犯,但似乎您没有太多 google 或试图了解根本问题,即escaping。由于这是数据格式和编程的基本概念,这里是维基百科中关于转义字符的页面。

然后,您应该自己研究在 (1) java 字符串和 (2) xml 的上下文中转义的概念。

于 2012-05-23T10:15:48.333 回答
0

你的问题到底是什么?缺少双引号?还是逃脱了 < > ?

对于缺少双引号,这只是因为您没有在字符串中放置任何双引号。请做类似的事情"rel=\"name\""

对于后一种,我敢打赌您已经将字符串作为文本节点并让 XML 编写器写出数据?因为在 XML 中,< >必须对字符串进行转义才能正确表示。您不应期望通过在某个 xml 节点中提供纯字符串来创建 XML 结构。使用您的 XML API 来正确地构建这块 XML 结构。

于 2012-05-23T10:17:07.890 回答