2010-07-16 40 views
2

使用API​​但我遇到了问题。XML解析错误结构不正确。问题在于变量内容,解决方法?

响应的这个特定部分(以XML表示)返回一个URL。下面是我得到的错误:

XML Parsing Error: not well-formed 

<item_to_page_url>http://cnn.com/.../?hpt=C2&replytocom=11119#respond</item_to_page_url> 

首先,我添加了一个省略号缩短了长度为这里查看论坛上的目的。现在,错误跟踪器行的东西,我没有包括上面,指向该URL中的第二个equals =字符。

所以。我无法帮助这个URL显示在XML响应中。有没有某种解决方法?肯定有某种方式来告诉XML,它的内容,而不是<tags>并使其忽略这个..

感谢

- 编辑为下面的评论 -

<item_to_page_title><![CDATA[Breaking news, real-time scores and daily analysis from Sports Illustrated SI.com]]></item_to_page_title> 

同样的错误和以前一样,不同的标签,不同的字符。

回答

4
肯定有某种方式来告诉XML,它的内容,而不是使之忽略这个..

确实存在。 CDATA标签将使XML解析器忽略其中包含的内容。

<item_to_page_url><![CDATA[http://cnn.com/.../?hpt=C2&replytocom=11119#respond]]></item_to_page_url>

但是,如果您不希望解析器完全忽略内容,则可以将其转义。您收到此错误实际上不是由等号引起的签署,它是由amperstand造成前 - amperstands必须是XML转义为&amp;

<item_to_page_url>http://cnn.com/.../?hpt=C2&amp;replytocom=11119#respond</item_to_page_url>
+0

thankss!精美的作品。现在我又遇到了另一个问题。同样的错误,但它在不同的<>标签/标签下。我尝试了CDATA标签,但是我仍然收到这个错误。这次XML是说它是由内容中的一个字符引起的......我真的需要万无一失这个API。我应该使用不同的标签吗? – 2010-07-16 20:26:20

+0

您在上述编辑中发布的行是完全有效的XML - 没有任何问题。也许这是某种编码问题 - 你使用的是UTF-8吗?这是什么类型的应用程序? – lucideer 2010-07-16 20:32:29

+0

没有设置字符集。运行的页面是一个PHP页面,运行MAMP。嗯它只是从MySQL获取数据,并把它放在XML中,然后我们在这里。让我尝试在UTF-8编码页面... – 2010-07-16 20:42:24