从xml文件解析url?

时间:2010-08-18 22:05:24

标签: asp.net

我有一个xml文件,其中包含

标签
<link>
        <linkto>http://www.ezstream.com/broadcasts/index.cfm?fuseaction=usrbrd&broadcasterid=57468</linkto>
        <image>report_button</image>    
        <alt>Report a Problem</alt> 
        <target></target>
</link>

<linkto>标记有网址。但是因为“&amp;”网址中的符号完全崩溃页面。我尝试使用像

安培; &amp;旁边符号,但这不会给出正确的网址。请帮助我

谢谢

3 个答案:

答案 0 :(得分:0)

好吧,如果XML在您的示例中包含裸&,则它不是有效的XML。如果您的XML解析器拒绝解析它,那么它就是预期的行为。

XML应该包含&amp;。任何合理的XML解析器都会自动正确解析此问题,并在向您返回URL之前将&amp;替换为&。如果不是这种情况,那么您的XML解析器就会出现错误。

如果您尝试使用XML解析器以外的任何其他方式检索URL(例如正则表达式?),那么您应该考虑使用XML解析器。

答案 1 :(得分:0)

如果你自己解析这个,那么重要的是要注意这是不是有效的XML。转义序列应该是&amp;,如果你想完全转义,它将是&amp; amp;

然后,你需要URL转义字符串,或者URL取消根据它最终编码的方式取消字符串,以及你打算用它做什么。

从你的问题中不清楚实际错误在哪里(在你的解析或渲染中)。您可以在HttpUtility静态类中的System.Web内的帮助程序类中找到URL转义/ unescape功能。

答案 2 :(得分:0)

这些表示单个字符的转义序列实际上称为XML中的字符引用。在使用XML时,可以使用一些预定义的字符引用。预定义的字符是:

Ampersand—&—&amp;
greater-than—>—&gt;   
less-than—<—&lt; apostrophe—'—&apos;
quote—"—&quot;

请试试这个......

Beware of the ampersand when using XML