WedX - журнал о программировании и компьютерных науках

сравнить два поля xml с помощью Xpath

Я проверил все вопросы, связанные с моим вопросом, ни один из них не смог решить мою проблему. Моя проблема в том, что мне нужно сравнить значение двух узлов XML с помощью XPath. ниже XML

<ExtenProp>
 <GenericField>
  <FieldKey>IsDiscount</FieldKey> 
  <FieldValue>True</FieldValue> 
  <Namespace /> 
  <ExtendedProperties /> 
</GenericField>

I need to check if IsDiscount is available then value is true or not. I tried to check like this

//do:OrderForms/do:OrderForm/do:ExtendedProperties/do:GenericField[FieldKey="IsDiscount" and FieldValue="True"]

и проверил, равно ли это true, но это не работает. Кто-нибудь может объяснить, почему?

24.08.2015

  • В XML это ExtenProp/GenericField, в XPath это ExtendedProperties/GenericField 26.08.2015
  • Можете ли вы показать полный пример с XPath, который на самом деле терпит неудачу? 27.08.2015

Ответы:


1

Вы находитесь на правильном пути с этим выражением XPath. Я подозреваю, что проблема просто в отсутствии префиксов, которые, как я полагаю, сопоставлены с URI пространства имен по умолчанию для FieldKey и FieldValue :

...../do:GenericField[do:FieldKey="IsDiscount" and do:FieldValue="True"] 
24.08.2015

2

Вы должны получить фактическое текстовое содержимое из этих подэлементов:

…/do:GenericField[do:FieldKey/text()="IsDiscount" and do:FieldValue/text()="True"]

or

…/do:GenericField[string(do:FieldKey)="IsDiscount" and string(do:FieldValue)="True"]
26.08.2015
  • Если текстовый узел является единственным содержимым элемента, ничего из вышеперечисленного не требуется, прямое сравнение элемента с литеральной строкой должно дать тот же результат. CMIIW 27.08.2015
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]