1

我正在对 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 会导致错误。我不确定我做错了什么。

任何帮助,将不胜感激。

谢谢!

苏珊

4

1 回答 1

1

您正在使用XmlDocument,但试图使用一种Descendants方法......我希望您正在考虑XDocument.Descendants.

有什么理由使用XmlDocument而不是 LINQ to XML?混合和匹配不会是理想的......

只需将前几行更改为:

// Variable name casing changed to be more idiomatic
var document = XDocument.Load(xmlFilePath);
于 2012-11-12T14:54:06.007 回答