我正在尝试从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();
}
答案 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>