XDocument.XPathSelectElements不能按预期工作

时间:2018-09-03 07:42:52

标签: c# linq xpath

有时候C#使我发疯,伙计:)!

我尝试了一个非常简单的代码:

String pathToXMLFile = openFileDialog2.FileName;
var xdoc = XDocument.Load(pathToXMLFile);
var xElements = xdoc.XPathSelectElements("//NotificationData");
foreach (XElement xe in xElements)
{
   Console.WriteLine(xe);
   xe.RemoveAll();
}
xdoc.Save("c:/Temp/ReestrZalogovRuManyCollateralItemsSimple_output.xml");

和一个非常简单的XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<PledgeNotificationToNotary xmlns="http://fciit.ru/eis2/ruzdi/types/2.2" version="2.2">

    <NotificationId>7d8b62c2-7682-43f8-8a2c-ef4296296210</NotificationId>

    <NotificationNotaryAddress/>

    <NotificationData version="2.2">

        <FormUZ1>

            <PersonalProperties>

                <PersonalProperty>

                    <OtherProperty>

                        <Description>Движимое имущество, согласно перечню по договору купли-продажи </Description>

                    </OtherProperty>

                </PersonalProperty>

            </PersonalProperties>

            <Pledgors>

                <Pledgor>

                    <Organization>

                        <RussianOrganization>

                            <NameFull>dgdgdfgdf</NameFull>

                            <OGRN>35345345</OGRN>

                            <INN>34534545</INN>

                            <Address>

<RegionCode>77</RegionCode>

<Region>Москва</Region>

<Street>Малая Семеновская</Street>

<House>fggdgdf</House>

<Building>dfgdfg</Building>

<Apartment>54654646dfg</Apartment>

                            </Address>

                        </RussianOrganization>

                    </Organization>

                </Pledgor>

            </Pledgors>

            <Pledgee>

                <Pledgee>

                    <Organization>

                        <RussianOrganization>

                            <NameFull>Тимер Банк (публичное акционерное общество)</NameFull>

                            <OGRN>1021600000146</OGRN>

                            <INN>1653016689</INN>

                            <Address>

<RegionCode>16</RegionCode>

<Region>Республика Татарстан (Татарстан)</Region>

<City>Казань</City>

<Street>проспект Ибрагимова</Street>

<House>58</House>

                            </Address>

                            <Email>dfgdgdgdg@timerbank.ru</Email>

                        </RussianOrganization>

                    </Organization>

                </Pledgee>

            </Pledgee>

            <PledgeContract>

                <Name>ДОГОВОР О ЗАЛОГЕ</Name>

                <Date>2018-08-20</Date>

                <Number>№ДОКЛЮ/7777/77-7</Number>

                <TermOfContract>«01» июня 2028 года</TermOfContract>

            </PledgeContract>

            <NotificationApplicant>

                <Role>2</Role>

                <Organization>

                    <NameFull>Тимер Банк (публичное акционерное общество)</NameFull>

                    <URN>1021600000146</URN>

                    <UINN>1653016689</UINN>

                    <Email>fgdfggsdfgsdfg@timerbank.ru</Email>

                </Organization>

                <Attorney>

                    <Name>

                        <Last>dfgfg</Last>

                        <First>dfgsdfg</First>

                        <Middle>sdfgdfg</Middle>

                    </Name>

                    <BirthDate>1967-08-01</BirthDate>

                    <Authority>приказ dgdfgdfgfdg</Authority>

                    <PersonDocument>

                        <Code>33</Code>

                        <Name>Паспорт гражданина Российской Федерации</Name>

                        <SeriesNumber>2323 232323</SeriesNumber>

                    </PersonDocument>

                    <PersonAddress>

                        <AddressRF registration="true">

                            <RegionCode>16</RegionCode>

                            <Region>Республика Татарстан (Татарстан)</Region>

                            <City>Казань</City>

                            <Street>gfdgdfg</Street>

                            <House>343434</House>

                        </AddressRF>

                    </PersonAddress>

                </Attorney>

            </NotificationApplicant>

        </FormUZ1>

    </NotificationData>

</PledgeNotificationToNotary>

问题是此代码中的xdoc.XPathSelectElements没有返回任何元素。

我想,可能是我还没有醒来,并试图在Google的第一个站点中测试我的XML和XPath以进行XPath在线评估-https://www.freeformatter.com/xpath-tester.html和我的XPath //NotificationData可以与此配合使用XML就像一种魅力。

但是为什么它在C#中不起作用? :)

提前谢谢!

0 个答案:

没有答案