如何从XDocument更改为XMLDocument代码?

嘿,我有两个xml文件和以下代码:


        DataTable table = new DataTable();


        List<string> headingNames = new List<string>();

        List<string> valueNames = new List<string>();


        //first xml file

        XDocument config = XDocument.Load(configFile);


        Dictionary<string, string> dict = config.Descendants("Columns").FirstOrDefault().Elements()

            .GroupBy(x => (string)x.Attribute("XPath"), y => (string)y.Attribute("Name"))

            .ToDictionary(x => x.Key, y => y.FirstOrDefault());


        //second xml file

        XDocument data = XDocument.Load(dataFile);


        List<XElement> positions = data.Descendants("Position").ToList();

但是我必须将其更改为XMLDocument代码。


这里是第一个XML:


<?xml version="1.0" encoding="utf-8"?>

<ROOT>

 <Columns BaseXPath="//Orders/Position/">

  <Colum XPath="@PositionSK" Name="Position"/>

  <Colum XPath="@PosGroup" Name="Gruppen-Nr"/>

  <Colum XPath="@PosNumber" Name="PositionsNr"/>

  <Colum XPath="@PositionCommercialTypeSK" Name="Status"/>

  <Colum XPath="@BundlePositionSK" Name="BundlePositionSK"/>

  <Colum XPath="@MainPositionSK" Name="MainPositionSK"/>

  <Colum XPath="@SalesAgentPrice" Name="Preis"/>

  <Colum XPath="@Catchword" Name="Suchwort"/> 

  <Colum XPath="@ContentComponentCommSK" Name="IKO"/>

  <Colum XPath="@PositionTypeSK" Name="PositionsTyp"/>

  <Colum XPath="//Advertisement[@AdvertisementSK = PositionAdvertisementRelationship/@AdvertisementSK]/@AdvertisementSK" Name="AdvertisementSK"/>

  <Colum XPath="//Advertisement[@AdvertisementSK = PositionAdvertisementRelationship/@AdvertisementSK]/@AdvertisementTypeSK" Name="Formatvorgabe"/>

 </Columns>

</ROOT>

我想要所有带有@和“名称”的名称:Position,Gruppen-Nr,...


因此,在Dic中(根据我的代码)站立着{[@@ PositionSK,位置]},{[@ PosGroup,Gruppen-Nr]},...


那么,如何用XMLDocument达到相同的结果呢?


输出将是DataGridView处的DataTable。它应该在另一个xml文件中用@搜索名称,然后找到它们的值。但是需要使用XMLDocument ..而不是linq ..的代码有人可以帮助我吗?


狐的传说
浏览 125回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP