我有以下似乎无法查询的xml包,因为它不包含根元素。不幸的是,xml有效负载无法更改,因此我被这种方法所困扰。我想知道是否有一个很好的方法来更改我的示例。我也尝试使用DesendantsAndSelf,但无法使其正常工作。 Tnx为您提供帮助。
string xml = @"<book number='3'>
<description>Test</description>
<chapter number='3-1-1'>
<description>Test</description>
</chapter>
<chapter number='3-1-2'>
<description>Test</description>
</chapter>
</book>";
这是我的代码示例:
XElement element= XElement.Parse(xml);
List<Book> books = ( from t in element.Descendants("book")
select new Book
{
number = (String)t.Attribute("number"),
description = (String)t.Element("description").Value,
// Load the chapter information
chapters = t.Elements("chapter")
.Select(te => new Chapter
{
number = (String)te.Attribute("number"),
description = (String)t.Element("description").Value
}).ToList(),
}).ToList();
foreach(var d in books)
{
Console.WriteLine(String.Format("number = {0}: description = {1}",d.number,d.description));
foreach(var c in d.chapters)
Console.WriteLine(String.Format("number = {0}: description = {1}",c.number,c.description));
}
这是我的课程对象:
public class Book
{
public String number { get; set; }
public String description { get; set; }
public List<Chapter> chapters { get; set; }
}
public class Chapter
{
public String number { get; set; }
public String description { get; set; }
}
参考方案
只需将XElement element= XElement.Parse(xml);
更改为var element = XDocument.Parse(xml);
。在这种情况下,您将获得一个具有XDocument
后代的book
实例。如果使用XElement element= XElement.Parse(xml);
,则当前元素将是book
,其中没有任何book
后代。
我有一个很大的熊猫数据框。数据框如下所示:>> df "a_1" "a_2" "b_1" "c_2" ... "d_1" nan 0.2 nan nan "d_2" 0.1 nan nan 1 "e_1" n…
在.net中分配新数组的成本很高 - c#.Net中分配数组的O时间复杂度是多少?我猜想,如果数组足够小以适合临时段,则应该为O(1),但是随着n变大,它将很难找到足够的内存,因此可能会改变。同样,大对象堆可能会碎片化,因此,如果n足够大以使数组适合LOH,则它可能不会是O(1)。 参考方案 临时段中的对象(SOH;小对象堆)在该段上的最后一个已知对象之后分配。它实际上应该只是一个指向那里的指针。由…
在 Pandas 中放置多列 - python我正在尝试使用以下代码在熊猫数据框中按索引号删除多列(数据集中的第2列和第70列,分别索引为1和69):df.drop([df.columns[[1, 69]]], axis=1, inplace=True) 我收到以下错误:TypeError: unhashable type: 'Index' 在我的代码中,[1,69]突出显示并说:E…
在.NET中导入模块,然后将其用作对象? - c#我有一个Python模块,我希望能够像C#中的类一样导入它的一部分,并尽可能地访问其方法,例如.NET native。如何使用IronPython完成此操作? 参考方案 看一下这个:https://wiki.python.org/moin/IntegratingPythonWithOtherLa…
在 Pandas df中找到timedelta对象的均值和标准差 - python我想通过银行与下面显示的两列mean来计算standard deviation的timedelta和dataframe。当我运行代码(也显示在下面)时,出现以下错误:pandas.core.base.DataError: No numeric types to aggregate 我的数据框: bank diff Bank of Japan 0 days 0…