Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/40: Рейтинг темы: голосов - 40, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 24.06.2008
Сообщений: 3
1

Delphi + XML + Xpath (Поиск параметра по параметру)

24.06.2008, 13:01. Просмотров 7797. Ответов 2
Метки нет (Все метки)


Хелп!!!
Возникла подобная задача:
Есть файл
Код:
Код
<?xml version="1.0" encoding="WINDOWS-1251" ?> 
<WorkDocs>
  <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    <s:Schema id="RowsetSchema">
        <s:ElementType name="row" content="eltOnly">
            <s:attribute type="CHAPTER"/>
            <s:attribute type="DOCNUMBER"/>
            <s:attribute type="ORGANIZATION"/>
            <s:attribute type="PERSONALNUMBER"/>
            <s:attribute type="PTKNUMBER"/>
            <s:attribute type="DOCCODE"/>
            <s:attribute type="DOCDATE"/>
            <s:attribute type="BANKCODEPAYER"/>
            <s:attribute type="ACCOUNTPAYER"/>
            <s:attribute type="BANKCODEPROVIDER"/>
            <s:attribute type="ACCOUNTPROVIDER"/>
            <s:attribute type="PROVIDER"/>
            <s:attribute type="UNNCODEPROVIDER"/>
            <s:attribute type="BANKCODEORG"/>
            <s:attribute type="ACCOUNTORG"/>
            <s:attribute type="ALLSUMM"/>
            <s:attribute type="STATEDOCCODE"/>
            <s:attribute type="ASSIGNMENT1"/>
            <s:attribute type="ASSIGNMENT2"/>
            <s:attribute type="DATECOMMIDITY"/>
            <s:attribute type="BANKDATE"/>
            <s:attribute type="DOCDATEVIEW"/>
            <s:attribute type="BANKDATEVIEW"/>
            <s:attribute type="ALLSUMMVIEW"/>
            <s:attribute type="DATECOMMIDITYVIEW"/>
            <s:attribute type="DOCCODEVIEW"/>
            <s:attribute type="STATEDOCCODEVIEW"/>
            <s:extends type="rs:rowbase"/>
        </s:ElementType>
        <s:AttributeType name="CHAPTER" rs:number="1" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="int"/>
        </s:AttributeType>
        <s:AttributeType name="DOCNUMBER" rs:number="2" rs:writeunknown="true">
            <s:datatype dt:type="int"/>
        </s:AttributeType>
        <s:AttributeType name="ORGANIZATION" rs:number="3" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="int"/>
        </s:AttributeType>
        <s:AttributeType name="PERSONALNUMBER" rs:number="4" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="int"/>
        </s:AttributeType>
        <s:AttributeType name="PTKNUMBER" rs:number="5" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="int"/>
        </s:AttributeType>
        <s:AttributeType name="DOCCODE" rs:number="6" rs:writeunknown="true">
            <s:datatype dt:type="i2"/>
        </s:AttributeType>
        <s:AttributeType name="DOCDATE" rs:number="7" rs:nullable="true">
            <s:datatype dt:type="dateTime"/>
        </s:AttributeType>
        <s:AttributeType name="BANKCODEPAYER" rs:number="8" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="ACCOUNTPAYER" rs:number="9" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="BANKCODEPROVIDER" rs:number="10" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="ACCOUNTPROVIDER" rs:number="11" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="PROVIDER" rs:number="12" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true">
            <s:datatype dt:type="string" dt:maxLength="255"/>
        </s:AttributeType>
        <s:AttributeType name="UNNCODEPROVIDER" rs:number="13" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="BANKCODEORG" rs:number="14" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="ACCOUNTORG" rs:number="15" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="ALLSUMM" rs:number="16" rs:writeunknown="true">
            <s:datatype dt:type="float"/>
        </s:AttributeType>
        <s:AttributeType name="STATEDOCCODE" rs:number="17">
            <s:datatype dt:type="i2"/>
        </s:AttributeType>
        <s:AttributeType name="ASSIGNMENT1" rs:number="18" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true">
            <s:datatype dt:type="string" dt:maxLength="255"/>
        </s:AttributeType>
        <s:AttributeType name="ASSIGNMENT2" rs:number="19" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string" dt:maxLength="255"/>
        </s:AttributeType>
        <s:AttributeType name="DATECOMMIDITY" rs:number="20" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="dateTime"/>
        </s:AttributeType>
        <s:AttributeType name="BANKDATE" rs:number="21" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="dateTime"/>
        </s:AttributeType>
        <s:AttributeType name="DOCDATEVIEW" rs:number="22" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="BANKDATEVIEW" rs:number="23" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="ALLSUMMVIEW" rs:number="24" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="DATECOMMIDITYVIEW" rs:number="25" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="DOCCODEVIEW" rs:number="26" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
        <s:AttributeType name="STATEDOCCODEVIEW" rs:number="27" rs:nullable="true" rs:writeunknown="true">
            <s:datatype dt:type="string"/>
        </s:AttributeType>
    </s:Schema>
    <rs:data>
        <z:row CHAPTER="10" DOCNUMBER="7371" ORGANIZATION="10921" PERSONALNUMBER="154" PTKNUMBER="7371" DOCCODE="3" DOCDATE="2005-02-01T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 768" ACCOUNTPROVIDER="3012203510015" ALLSUMM="869009" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ.Аванс на ПСД по дог. 1-109КР-97/2004 от 10.12.04г. по об. &quot;Ремонт помещений зд. по ул. Советской 28&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-02T00:00:00" BANKDATE="2005-02-07T00:00:00" PROVIDER="ОАО КУП &quot;Гомельжилпроект&quot;. РБ." UNNCODEPROVIDER="400022625" DOCDATEVIEW="01.02.2005" BANKDATEVIEW="07.02.2005" DATECOMMIDITYVIEW="02.02.2005" ALLSUMMVIEW="869 009р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="10" DOCNUMBER="7413" ORGANIZATION="10921" PERSONALNUMBER="155" PTKNUMBER="7413" DOCCODE="3" DOCDATE="2005-02-01T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 768" ACCOUNTPROVIDER="3012203510015" ALLSUMM="11563336" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ.Аванс на ПСД по дог. 1-109КР-97/2005 от 24.01.05г. по об. &quot;Ремонт помещений зд. по ул. Советской 28&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-02T00:00:00" BANKDATE="2005-02-07T00:00:00" PROVIDER="ОАО КУП &quot;Гомельжилпроект&quot;. РБ." UNNCODEPROVIDER="400022625" DOCDATEVIEW="01.02.2005" BANKDATEVIEW="07.02.2005" DATECOMMIDITYVIEW="02.02.2005" ALLSUMMVIEW="11 563 336р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="10" DOCNUMBER="13721" ORGANIZATION="10921" PERSONALNUMBER="290" PTKNUMBER="13721" DOCCODE="3" DOCDATE="2005-02-21T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 360" ACCOUNTPROVIDER="3012001900010" ALLSUMM="12500000" STATEDOCCODE="4" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ.Аванс на СМР на март 05г. согл. графика пр. работ к дог. 91 от 21.09.03г., д/с 1 от 15.02.05г. по об. &quot;Ремонт помещений зд. по ул. Советской 28&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-22T00:00:00" PROVIDER="Трест №14. РБ." UNNCODEPROVIDER="400078622" DOCDATEVIEW="21.02.2005" BANKDATEVIEW=" " DATECOMMIDITYVIEW="22.02.2005" ALLSUMMVIEW="12 500 000р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="В ГГК"/>
        <z:row CHAPTER="54" DOCNUMBER="4621" ORGANIZATION="10921" PERSONALNUMBER="99" PTKNUMBER="4621" DOCCODE="3" DOCDATE="2005-01-21T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 663" ACCOUNTPROVIDER="3720002590245" ALLSUMM="12497207" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ.Раз.ц.аванс на январь 05г. по письму 01-8/52 от 21.01.05г.,графика пр. работ к дог. 105 от 21.09.1992г., д/с 15 от 18.01.05г. по об. &quot;Палатный корпус на 220 коек госпиталя ИВОВ&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-01-24T00:00:00" BANKDATE="2005-01-24T00:00:00" PROVIDER="ОАО СМТ №27 Рез. РБ" UNNCODEPROVIDER="400179374" DOCDATEVIEW="21.01.2005" BANKDATEVIEW="24.01.2005" DATECOMMIDITYVIEW="24.01.2005" ALLSUMMVIEW="12 497 207р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="4628" ORGANIZATION="10921" PERSONALNUMBER="100" PTKNUMBER="4628" DOCCODE="3" DOCDATE="2005-01-21T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 663" ACCOUNTPROVIDER="3720002590245" ALLSUMM="24999467" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ.Раз.ц.аванс на февраль 05г. по письму 01-8/51 от 21.01.05г.,графика пр. работ к дог. 105 от 21.09.1992г., д/с 15 от 18.01.05г. по об. &quot;Палатный корпус на 220 коек госпиталя ИВОВ&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-01-24T00:00:00" BANKDATE="2005-01-24T00:00:00" PROVIDER="ОАО СМТ №27 Рез. РБ" UNNCODEPROVIDER="400179374" DOCDATEVIEW="21.01.2005" BANKDATEVIEW="24.01.2005" DATECOMMIDITYVIEW="24.01.2005" ALLSUMMVIEW="24 999 467р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="5061" ORGANIZATION="10921" PERSONALNUMBER="137" PTKNUMBER="5061" DOCCODE="3" DOCDATE="2005-01-31T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 759" ACCOUNTPROVIDER="3012200040034" ALLSUMM="292890" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ.За продление ордера на зем. работы по акту б/н от 17.01.05г. к счету 15Ж от 13.01.05г. по об. &quot;Областная стомат. поликлиника г. Гомель&quot;" ASSIGNMENT2="" DATECOMMIDITY="2005-02-01T00:00:00" BANKDATE="2005-02-02T00:00:00" PROVIDER="КЖРЭУП  &quot;Центральное&quot; " UNNCODEPROVIDER="400022837" DOCDATEVIEW="31.01.2005" BANKDATEVIEW="02.02.2005" DATECOMMIDITYVIEW="01.02.2005" ALLSUMMVIEW="292 890р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="5280" ORGANIZATION="10921" PERSONALNUMBER="109" PTKNUMBER="5280" DOCCODE="3" DOCDATE="2005-01-25T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 663" ACCOUNTPROVIDER="3012002590012" ALLSUMM="11085000" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. Аванс на СМР на февраль 05г. согл. графика пр. работ к дог. 105 от 21.09.1992г., д/с 15 от 18.01.05г. по об. &quot;Палатный корпус на 220 коек госпиталя ИВОВ&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-01-26T00:00:00" BANKDATE="2005-01-28T00:00:00" PROVIDER="СМТ №27 Рез. РБ" UNNCODEPROVIDER="400179374" DOCDATEVIEW="25.01.2005" BANKDATEVIEW="28.01.2005" DATECOMMIDITYVIEW="26.01.2005" ALLSUMMVIEW="11 085 000р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="6952" ORGANIZATION="10921" PERSONALNUMBER="138" PTKNUMBER="6952" DOCCODE="3" DOCDATE="2005-01-31T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 768" ACCOUNTPROVIDER="3012204370010" ALLSUMM="1325324" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ.Предоплата за экспертизу ПСД по сч. 15100 от 05.01.05г. по дог. 15100 от 05.01.05г. по об. &quot;Реконсрукция поликлинники N8 по ул. Артема г.Гомель&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-01T00:00:00" BANKDATE="2005-02-02T00:00:00" PROVIDER="КУП &quot;Белгосэкспертиза по Гом. обл. &quot; РБ" UNNCODEPROVIDER="400062571" DOCDATEVIEW="31.01.2005" BANKDATEVIEW="02.02.2005" DATECOMMIDITYVIEW="01.02.2005" ALLSUMMVIEW="1 325 324р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="6957" ORGANIZATION="10921" PERSONALNUMBER="140" PTKNUMBER="6957" DOCCODE="3" DOCDATE="2005-01-31T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 768" ACCOUNTPROVIDER="3012203510015" ALLSUMM="293649" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. За авторский надзор по акту б/н от 11.01.05г. по дог. 89 от 15.04.03г., д/с 1 от 08.01.04г. по об. &quot;Реконсрукция поликлинники N8 по ул. Артема г.Гомель&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-01T00:00:00" BANKDATE="2005-02-02T00:00:00" PROVIDER="ОАО КУП &quot;Гомельжилпроект&quot;. РБ." UNNCODEPROVIDER="400022625" DOCDATEVIEW="31.01.2005" BANKDATEVIEW="02.02.2005" DATECOMMIDITYVIEW="01.02.2005" ALLSUMMVIEW="293 649р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="7453" ORGANIZATION="10921" PERSONALNUMBER="147" PTKNUMBER="7453" DOCCODE="3" DOCDATE="2005-02-01T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 360" ACCOUNTPROVIDER="3012001900010" ALLSUMM="25000000" STATEDOCCODE="13" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. Аванс на СМР на март 05г. согл. гр. произв. работ к дог. 22 от 05.06.03г., д/с 7 от 18.01.05г.по об. &quot;Областная стомат. поликлиника г. Гомель&quot;" ASSIGNMENT2="" DATECOMMIDITY="2005-02-02T00:00:00" PROVIDER="Трест №14. РБ." UNNCODEPROVIDER="400078622" DOCDATEVIEW="01.02.2005" BANKDATEVIEW=" " DATECOMMIDITYVIEW="02.02.2005" ALLSUMMVIEW="25 000 000р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Аннулирован"/>
        <z:row CHAPTER="54" DOCNUMBER="7461" ORGANIZATION="10921" PERSONALNUMBER="146" PTKNUMBER="7461" DOCCODE="3" DOCDATE="2005-02-01T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 360" ACCOUNTPROVIDER="3012001900010" ALLSUMM="25000000" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. Аванс на СМР на февраль 05г. согл. гр. произв. работ к дог. 22 от 05.06.03г., д/с 7 от 18.01.05г.по об. &quot;Областная стомат. поликлиника г. Гомель&quot;" ASSIGNMENT2="" DATECOMMIDITY="2005-02-02T00:00:00" BANKDATE="2005-02-02T00:00:00" PROVIDER="Трест №14. РБ." UNNCODEPROVIDER="400078622" DOCDATEVIEW="01.02.2005" BANKDATEVIEW="02.02.2005" DATECOMMIDITYVIEW="02.02.2005" ALLSUMMVIEW="25 000 000р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="7464" ORGANIZATION="10921" PERSONALNUMBER="159" PTKNUMBER="7464" DOCCODE="3" DOCDATE="2005-02-01T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 663" ACCOUNTPROVIDER="3012002590012" ALLSUMM="11085000" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. Аванс на СМР на март 05г. согл. графика пр. работ к дог. 105 от 21.09.1992г., д/с 15 от 18.01.05г. по об. &quot;Палатный корпус на 220 коек госпиталя ИВОВ&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-02T00:00:00" BANKDATE="2005-02-16T00:00:00" PROVIDER="СМТ №27 Рез. РБ" UNNCODEPROVIDER="400179374" DOCDATEVIEW="01.02.2005" BANKDATEVIEW="16.02.2005" DATECOMMIDITYVIEW="02.02.2005" ALLSUMMVIEW="11 085 000р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="8772" ORGANIZATION="10952" PERSONALNUMBER="8" PTKNUMBER="81537" DOCCODE="3" DOCDATE="2005-02-03T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 354" ACCOUNTPROVIDER="3012001380011" ALLSUMM="13348000" STATEDOCCODE="9" ASSIGNMENT1="УНК 10952 КУП  &quot;УКС  г. Мозыря&quot; Резидент РБ . Фин-ие 2005г. Кредит. задолж-ть 2004г. Оплата за выполн. работы по об. &quot;Межрайон. дет. больница на 300 коек&quot; согл. спр. ф.№3 за сентябрь, ноябрь, декабрь 2004г. по доп. согл. №8 к дог.№20 от 10.03.2000г." DATECOMMIDITY="2005-02-04T00:00:00" BANKDATE="2005-02-07T00:00:00" PROVIDER="ОАО &quot;Мозырьпромстрой&quot;. ." UNNCODEPROVIDER="400091065" DOCDATEVIEW="03.02.2005" BANKDATEVIEW="07.02.2005" DATECOMMIDITYVIEW="04.02.2005" ALLSUMMVIEW="13 348 000р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="8827" ORGANIZATION="10921" PERSONALNUMBER="152" PTKNUMBER="8827" DOCCODE="3" DOCDATE="2005-02-03T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 768" ACCOUNTPROVIDER="3012200370030" ALLSUMM="2369950" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. Восстановленение средств использованных на оплату ПИР согл. п/п 131 от 27.01.05г на сумму 155043руб, п/п 130 от 27.01.05г. на сумму 2214907руб. .по об. &quot;Областная стомат. поликлиника г. Гомель&quot;" ASSIGNMENT2="" DATECOMMIDITY="2005-02-04T00:00:00" BANKDATE="2005-02-07T00:00:00" PROVIDER="КУП  &quot;Гомельское УКС&quot;  " UNNCODEPROVIDER="400074310" DOCDATEVIEW="03.02.2005" BANKDATEVIEW="07.02.2005" DATECOMMIDITYVIEW="04.02.2005" ALLSUMMVIEW="2 369 950р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="8828" ORGANIZATION="10921" PERSONALNUMBER="190" PTKNUMBER="8828" DOCCODE="3" DOCDATE="2005-02-03T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 768" ACCOUNTPROVIDER="3012204730012" ALLSUMM="3487813" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. Предоплата за светильники по сч. 6 от 02.02.05г. к дог. 6 от 02.02.05г. по об. &quot;Реконсрукция поликлинники N8 по ул. Артема г.Гомель&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-04T00:00:00" BANKDATE="2005-02-07T00:00:00" PROVIDER="КУП &quot;УКС-Комплектация&quot; " UNNCODEPROVIDER="400274656" DOCDATEVIEW="03.02.2005" BANKDATEVIEW="07.02.2005" DATECOMMIDITYVIEW="04.02.2005" ALLSUMMVIEW="3 487 813р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
        <z:row CHAPTER="54" DOCNUMBER="8829" ORGANIZATION="10921" PERSONALNUMBER="185" PTKNUMBER="8829" DOCCODE="3" DOCDATE="2005-02-03T00:00:00" BANKCODEPAYER="151501661" ACCOUNTPAYER="3707001320053" BANKCODEPROVIDER="151501 360" ACCOUNTPROVIDER="3012001900010" ALLSUMM="52537465" STATEDOCCODE="9" ASSIGNMENT1="УНК N10921 КУП &quot;УКС ГОМЕЛЬСКОГО ОБЛИСПОЛКОМА&quot; РБ. За СМР согл. спр. Ф3 за январь 05г. по дог. 7 от 25.01.02г., д/с 10 от 31.01.05г.. по об. &quot;Реконсрукция поликлинники N8 по ул. Артема г.Гомель&quot;." ASSIGNMENT2="" DATECOMMIDITY="2005-02-04T00:00:00" BANKDATE="2005-02-07T00:00:00" PROVIDER="Трест №14. РБ." UNNCODEPROVIDER="400078622" DOCDATEVIEW="03.02.2005" BANKDATEVIEW="07.02.2005" DATECOMMIDITYVIEW="04.02.2005" ALLSUMMVIEW="52 537 465р." DOCCODEVIEW="Пл. поручения" STATEDOCCODEVIEW="Проплачен"/>
...
Необходимо получить атрибут STATEDOCCODEVIEW по атрибуту DOCNUMBER
Не получается написать подобное написаному Dr.Acula задесь помогите с xml...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2008, 13:01
Ответы с готовыми решениями:

Поиск узла в xml посредством DocumentElement.SelectNodes (двоеточие в xPath)
Здравствуйте все! Подскажите как быть, у меня в xml файле многие узлы в имени содержат...

LINQ to XML или XPath to XML (выбор одного элемента)
Прошу помощи в LINQ или XPath запросе к XML Вот XML: &lt;manifest...

Что передать в качестве параметра методу, чтобы использовать данные с помощью метода `xpath`?
def get_hash(node) { weight: node.xpath('.//span/text()').text, price:...

XPath и работа с xml-файлом
Есть xml файл со структурой &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;root&gt; &lt;element id=&quot;&quot;&gt; ...

2
212 / 10 / 4
Регистрация: 25.04.2007
Сообщений: 67
24.06.2008, 22:36 2
Сильно подозреваю, что загвоздка вышла в связи с тем, что в этом документе используются пространства имен (задаются тегом xmlns). В таком случае можно, например, пользоваться функцией XPath local-name()

тогда XPath запрос на поиск нужного узла относительно тега xml будет выглядеть примерно следующим образом:

//*[local-name()='data']/*[local-name()='row' and @docnumber='7371']

ручаться что это сработает не буду, т.к. сам XPath не пользовался давно, а под руками нет никакой IDE-шки чтобы проверить...

Могу еще адресовать к обсуждениям пространств имён в XPath на форуме GotDotNet.ru
http://www.gotdotnet.ru/Forums/Data/135534.aspx
http://www.gotdotnet.ru/Forums... aspx#55367

А вообще обсуждение было бы продуктивней, если бы вместе с формулировкой вопроса был приведен пример неработающего кода...

Всего хорошего
0
0 / 0 / 1
Регистрация: 24.06.2008
Сообщений: 3
25.06.2008, 12:11  [ТС] 3
Лучший ответ Сообщение было отмечено artyr как решение

Решение

Штука в том что код есть код примера подогнаный под (наверное неправильно) мой файл.
Delphi
1
2
3
4
5
6
7
8
9
10
11
var
  xmlDoc: IXMLDOMDocument;
  xmlProgIdField: IXMLDOMNode;
  xmlProgNameField: IXMLDOMNode;
  prodListName: string;
begin
 
 
    xmlDoc := IXMLDOMDocument(CreateOleObject('msxml.domdocument'));
    xmlDoc.load('11.xml');
    xmlProgIdField := xmlDoc.documentElement.selectSingleNode('//WorkDocs/xml/s:Schema/s:AttributeType[@s:AttributeType name="DOCNUMBER"="DOCNUMBER" and text()="'+Edit1.Text+'"]');
этот запрос возвращает нил

Добавлено через 1 час 50 минут
Переписал вот так
Код
var
  xmlDoc: IXMLDOMDocument;
  xmlProgIdField: IXMLDOMNode;
  xmlProgNameField: IXMLDOMNode;
  prodListName: string;
begin


    xmlDoc := IXMLDOMDocument(CreateOleObject('msxml.domdocument'));
    xmlDoc.load('11.xml');
    xmlProgIdField := xmlDoc.documentElement.selectSingleNode('//WorkDocs/xml/*[local-name()=''Schema'']/*[local-name()=''AttributeType''][@name="DOCNUMBER" and text()="'+Edit1.Text+'"]');
Ругает за [local-name()= может кто знает в чем проблемма
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2008, 12:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Парсинг файла xml с Xpath
Необходимо вывести в консоли из файла xml fullName, INN, KPP из узла customerInfo. &lt;?xml...

Прочитать Xml файл, XPath
Доброго времени суток! Пытаюсь на C# просмотреть(прочитать, распарсить, как угодно называйте, не...

Не работает XPath при анализе XML
Пишу программу, которая должна заменять в docx-документе выбранное слово другим. Разобрался с тем,...

Нет результата запроса к XML (XPath)
Не могу найти ошибку. Нужно из файла xml вытащить к примеру значение атрибута name узла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.