xml无法读取URL

时间:2014-01-27 11:09:26

标签: c# xml xmlreader

我正在尝试从XML文件中阅读以下文本。但面对问题,因为它没有阅读它。

<link rel="self" type="application/json" href="https://api.demo.com/1/2/search?client_id=7f9d55eaaa844b48bb3cd98040f84382&DD=5000&BB=40.7142&AA=-74.0064"/>

给我错误的阅读'=','&amp;'特殊字符。

XML异常未处理'“'是一个意外的令牌。预期的令牌是';'。第9行,第170位。

因为这些字符是从源自动生成的。我该怎么做才能避免这个问题。

以下是我正在使用的代码段。

Dictionary<string, object> idict = new System.Collections.Generic.Dictionary<string, object>();  
        using (XmlReader reader = XmlReader.Create(strXMLPath))
        {
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "data")
                {
                    reader.MoveToAttribute("name");
                    string key = reader.Value;
                    reader.MoveToContent();
                    object value = reader.ReadElementContentAsObject();
                    idict.Add(key, value);
                }
            }
            reader.Close();
        }

1 个答案:

答案 0 :(得分:1)

XML的摘要无效(character '=' is grammatically unexpected)。我建议(如果可以的话),使用CData来放置href。所以你的XML就像:

<link rel="self" type="application/json">
    <href><![CDATA[https://api.demo.com/1/2/search?client_id=7f9d55eaaa844b48bb3cd98040f84382&DD=5000&BB=40.7142&AA=-74.0064]]></href>
</link>