相关疑难解决方法(0)

使用XDocument按属性查找元素

此查询似乎有效,但我有0结果.

IEnumerable<XElement> users =
            (from el in XMLDoc.Elements("Users")
             where (string)el.Attribute("GUID") == userGUID.ToString()
             select el);
Run Code Online (Sandbox Code Playgroud)

我的XML如下:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Users>
  <User GUID="68327fe2-d6f0-403b-a7b6-51860fbf0b2f">
    <Key ID="F7000012ECEAD101">
      ...
    </Key>
  </User>

</Users>
Run Code Online (Sandbox Code Playgroud)

你有什么线索可以解释这个问题吗?

c# xml linq linq-to-xml

24
推荐指数
2
解决办法
6万
查看次数

C#解析XML文件

我在堆栈溢出时看了几个线程,我找不到答案.我有一个像下面这样的xml文件设置:

<entry id="1" type="a">
    <name>string 1</name>
    <description>any description</description>
</entry>
<entry id="2" type="b">
    <name>string 2</name>
    <description>any description #2</description>
</entry>
Run Code Online (Sandbox Code Playgroud)

我需要选择所有"条目"标签并返回条目的ID,类型,内部名称和描述标签.我怎么能用C#这样做?

谢谢,

c# xml linq

8
推荐指数
1
解决办法
8694
查看次数

LINQ Xelement当子节点存在时返回null

我有一个像这样的XML文件,我想读取ID,短名称,名称节点值.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<AccountingUnitList xmlns="http://www.google.com">
<AccountingUnit>
<ID>17406</ID> 
<ShortName>test</ShortName> 
<Name>test</Name> 
</AccountingUnit>
<AccountingUnit>
<ID>18006</ID> 
<ShortName>ANOTHERtest</ShortName> 
<Name>Anothertest</Name> 
</AccountingUnit>
<AccountingUnit>
<ID>18046</ID> 
<ShortName>RKU</ShortName>
<Name>hospital</Name> 
</AccountingUnit>
<AccountingUnit>
<ID>18047</ID> 
<ShortName>MNU</ShortName> 
<Name>MNU</Name> 
</AccountingUnit>
</AccountingUnitList>
Run Code Online (Sandbox Code Playgroud)

递归读取Node元素的最佳方法是什么?

这就是我尝试读取Node值的方法:

var accountingunit = ( 
                from e in XDocument.Parse(textresult).Root.Elements("AccountingUnit")
                select new node
                {
                     idvalue = (string)e.Element("ID"),
                     shortname =(string)e.Element("ShortName"),
                     name = (string)e.Element("Name"),

                });

            foreach(var unit in accountingunit)
            {
               Console.WriteLine("ID"+ unit.idvalue + unit.name + unit.shortname);
            }
Run Code Online (Sandbox Code Playgroud)

这是节点consructor:

public class node
{
    public string idvalue { get; set; }
    public string shortname { …
Run Code Online (Sandbox Code Playgroud)

c# xml linq-to-xml

6
推荐指数
1
解决办法
3718
查看次数

需要有关在.NET 4中解析XML的信息

我对XML很新,并使用C#解析它.我试图解析一个如下所示的XML文档:

<Msg Version="1.0">
  <ProgList>
    <update sequence="41248" amount="3327" Lvl="1" Grp="1" />
    <update sequence="41216" amount="5326" Lvl="2" Grp="1" />
    <update sequence="41252" amount="7326" Lvl="3" Grp="1" />
  </ProgList>
</Msg>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用XDocument,似乎无法解析具有属性的三个更新.

但是,如果我在此表单中创建包含相同数据的XML文档:

<Msg Version="1.0">
    <ProgList>
        <Level>
            <seq>41248</seq>
            <amount>3327</amount>
            <Lvl>1</Lvl>
            <Grp>1</Grp>
        </Level>
        <Level>
            <seq>41216</seq>
            <amount>5326</amount>
            <Lvl>2</Lvl>
            <Grp>1</Grp>
        </Level>
        <Level>
            <seq>41252</seq>
            <amount>7326</amount>
            <Lvl>3</Lvl>
            <Grp>1</Grp>
        </Level>
    </ProgList>
</Msg>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码解析并迭代Level数据:

String xmlText = String.Empty;
//String xml = String.Empty;
int begin = Data.IndexOf("<?xml");
int end = Data.IndexOf("</Msg") + 6;

try
{
    //xml = Data.Substring(begin, end - begin);
}
catch { }; …
Run Code Online (Sandbox Code Playgroud)

.net c# xml linq-to-xml

2
推荐指数
1
解决办法
1341
查看次数

标签 统计

c# ×4

xml ×4

linq-to-xml ×3

linq ×2

.net ×1