0

你能帮助从下面的 XML 获取特定数据吗?

我需要来自关系节点的以下字段,

谢谢你的帮助 !

tva:节目信息表

tva:Title type="main" tva:Genre href=

tva:节目位置表

tva:PublishedStartTime

他们在crid="............."上有关系

<?xml version="1.0" encoding="utf-8"?>
<tva:TVAMain xmlns:tva="urn:tva:metadata:2005" xmlns:mpeg7="urn:tva:mpeg7:2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="tr">
  <tva:ProgramDescription>

    <tva:ProgramInformationTable>

      <tva:ProgramInformation programId="2471154983201212170000" ChannelName="13951" xmlns:tva="urn:tva:metadata:2005">
        <tva:BasicDescription>
          <tva:Title type="main"><![CDATA[Krem]]></tva:Title>
          <tva:Title type="original"></tva:Title>
          <tva:Title type="episodeTitle"></tva:Title>
          <tva:Title type="seriesTitle"></tva:Title>
          <tva:Synopsis length="short"><![CDATA[Mucizeler sadece masallarda mı olur?]]></tva:Synopsis>
          <tva:Synopsis length="long"><![CDATA[Desc]]></tva:Synopsis>
          <tva:Genre href="urn:etsi:cs:GenreEtsiCS:2009:1.0" />
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:9004">
            <tva:Name><![CDATA[Dizi]]></tva:Name>
          </tva:Genre>
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:9801">
            <tva:Name><![CDATA[Yerli]]></tva:Name>
          </tva:Genre>
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:1.7">
            <tva:Name><![CDATA[Dram]]></tva:Name>
          </tva:Genre>
          <tva:Language type="original" closed="true"><![CDATA[tr-TR]]></tva:Language>
          <tva:CaptionLanguage></tva:CaptionLanguage>
        </tva:BasicDescription>
        <tva:AVAttributes>
          <tva:System href="urn:engin:cs:VideoFormat:SD" />
        </tva:AVAttributes>
      </tva:ProgramInformation>

      <tva:ProgramInformation programId="2471051483201212170020" ChannelName="13951" xmlns:tva="urn:tva:metadata:2005">
        <tva:BasicDescription>
          <tva:Title type="main"><![CDATA[Dizi]]></tva:Title>
          <tva:Title type="original"></tva:Title>
          <tva:Title type="episodeTitle"></tva:Title>
          <tva:Title type="seriesTitle"></tva:Title>
          <tva:Synopsis length="short"><![CDATA[]]></tva:Synopsis>
          <tva:Synopsis length="long"><![CDATA[]]></tva:Synopsis>
          <tva:Genre href="urn:etsi:cs:GenreEtsiCS:2009:1.0" />
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:9004">
            <tva:Name><![CDATA[Dizi]]></tva:Name>
          </tva:Genre>
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:9801">
            <tva:Name><![CDATA[Yerli]]></tva:Name>
          </tva:Genre>
          <tva:Language type="original" closed="true"><![CDATA[tr-TR]]></tva:Language>
          <tva:CaptionLanguage></tva:CaptionLanguage>
          <tva:CreditsList>
            <tva:ReleaseInformation>
              <tva:ReleaseDate>
                <tva:Year></tva:Year>
              </tva:ReleaseDate>
            </tva:ReleaseInformation>
          </tva:CreditsList>
        </tva:BasicDescription>
        <tva:AVAttributes>
          <tva:System href="urn:engin:cs:VideoFormat:SD" />
        </tva:AVAttributes>
      </tva:ProgramInformation>

      <tva:ProgramInformation programId="2471155083201212170210" ChannelName="13951" xmlns:tva="urn:tva:metadata:2005">
        <tva:BasicDescription>
          <tva:Title type="main"><![CDATA[Unutulmaz]]></tva:Title>
          <tva:Title type="original"></tva:Title>
          <tva:Title type="episodeTitle"></tva:Title>
          <tva:Title type="seriesTitle"></tva:Title>
          <tva:Synopsis length="short"><![CDATA[Desc]]></tva:Synopsis>
          <tva:Synopsis length="long">
            <![CDATA[Desc]]>
          </tva:Synopsis>
          <tva:Genre href="urn:etsi:cs:GenreEtsiCS:2009:1.0" />
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:9004">
            <tva:Name><![CDATA[Dizi]]></tva:Name>
          </tva:Genre>
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:9801">
            <tva:Name><![CDATA[Yerli]]></tva:Name>
          </tva:Genre>
          <tva:Genre href="urn:engin:cs:GenreSectionCS:2009:1.7">
            <tva:Name><![CDATA[Dram]]></tva:Name>
          </tva:Genre>
          <tva:Language type="original" closed="true"><![CDATA[tr-TR]]></tva:Language>
          <tva:CaptionLanguage></tva:CaptionLanguage>        
        </tva:BasicDescription>
        <tva:AVAttributes>
          <tva:System href="urn:engin:cs:VideoFormat:SD" />
        </tva:AVAttributes>
      </tva:ProgramInformation>   

    </tva:ProgramInformationTable>

    <tva:ProgramLocationTable>

      <tva:ScheduleEvent xmlns:tva="urn:tva:metadata:2005">
        <tva:Program crid="2471154983201212170000" />
        <tva:PublishedStartTime>2012-12-17T00:00:00+02:00</tva:PublishedStartTime>
        <tva:PublishedEndTime>2012-12-17T00:20:00+02:00</tva:PublishedEndTime>
        <tva:PublishedDuration>PT00H20M00S</tva:PublishedDuration>
      </tva:ScheduleEvent>

      <tva:ScheduleEvent xmlns:tva="urn:tva:metadata:2005">
        <tva:Program crid="2471051483201212170020" />
        <tva:PublishedStartTime>2012-12-17T00:20:00+02:00</tva:PublishedStartTime>
        <tva:PublishedEndTime>2012-12-17T02:10:00+02:00</tva:PublishedEndTime>
        <tva:PublishedDuration>PT01H50M00S</tva:PublishedDuration>
      </tva:ScheduleEvent>


      <tva:ScheduleEvent xmlns:tva="urn:tva:metadata:2005">
        <tva:Program crid="2471155083201212170210" />
        <tva:PublishedStartTime>2012-12-17T02:10:00+02:00</tva:PublishedStartTime>
        <tva:PublishedEndTime>2012-12-17T03:50:00+02:00</tva:PublishedEndTime>
        <tva:PublishedDuration>PT01H40M00S</tva:PublishedDuration>
      </tva:ScheduleEvent>    

    </tva:ProgramLocationTable>




    <tva:ServiceInformationTable>
      <tva:ServiceInformation serviceId="ATV">
        <tva:Name>ATV</tva:Name>
      </tva:ServiceInformation>
    </tva:ServiceInformationTable>  



  </tva:ProgramDescription>
</tva:TVAMain>
4

1 回答 1

1

这可以作为一个起点。

var xDoc = XDocument.Load(filename);
XNamespace tva = "urn:tva:metadata:2005";

var pi = xDoc.Descendants(tva + "ProgramInformation")
            .Select(p => new
            {
                ProgramId = p.Attribute("programId").Value,
                ChannelName = p.Attribute("ChannelName").Value,
                Title = p.Descendants(tva+"Title")
                         .First(a=>a.Attribute("type").Value=="main")
                         .Value
            })
            .ToList();
于 2012-12-17T13:05:40.763 回答