我正在针对XmlDocument进行简单的LINQ查询,并且我得到“尝试明确指定类型参数”错误。这是我的C#代码:
var Document = new XmlDocument();
Document.LoadXml(XmlFilePath);
var selectedMessage = from msg in Document.Descendants("Messages").Descendants("Message")
where msg.Attribute("Code").Value == constant
select msg;
xml如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<MessageService>
<Messages>
<Message Code="DE-01003" Section="Delphi Backend" Line="N/A" Claim="No" Constant="E_PHY_LN_INV_HCPCS" Description="Error reading HCPCS code on line %d (%s)" />
<Message Code="DE-01004" Section="Delphi Backend" Line="N/A" Claim="No" Constant="E_PHY_LN_RBRVS_FAMILY_INV_DT" Description="RunFamilyReduction: Invalid Date on claim line %d (%s)" />
<Message Code="DE-02002" Section="Delphi Backend" Line="N/A" Claim="No" Constant="E_AMB_LN_INV_HCPCS" Description="Invalid or missing HCPCS code on claim line %d (%s)" />
.
.
.
</Messages>
</MessageService>
第一次调用.Descendants会导致错误。我不确定我做错了什么。
任何帮助都将不胜感激。
谢谢!
苏珊
答案 0 :(得分:1)
您正在使用XmlDocument
,但尝试使用Descendants
方法...而我期待您正在考虑XDocument.Descendants
。
您希望使用XmlDocument
而不是LINQ to XML是否有任何理由?混合和匹配并不理想......
只需将前几行更改为:
// Variable name casing changed to be more idiomatic
var document = XDocument.Load(xmlFilePath);