NIFI 读取 XML 节点数值

huangapple go评论87阅读模式
英文:

NIFI Reading XML node value

问题

我需要读取节点值"ReferenceDocumentNumber",其值为"SI-000000614"。我正在使用Nifi中的EvaluateXpath处理器。我的设置如下图所示:

NIFI 读取 XML 节点数值

我甚至尝试使用/@ReferenceDocument,但未能获取节点值。请在这里提供帮助。

英文:

I have the following xml:

  1. <?xml version="1.0" encoding="UTF-8"?><ns1:SalesOrderMessages mlns:ns1="http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/SalesOrder" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  2. <SalesOrder>
  3. <MessageProcessingInformation>
  4. <SendingSystemID>SMS_0175</SendingSystemID>
  5. </MessageProcessingInformation>
  6. <Header>
  7. <SalesDocumentType>YPO0</SalesDocumentType>
  8. <SalesOrganization>7002</SalesOrganization>
  9. <DistributionChannel>00</DistributionChannel>
  10. <RequestedDeliveryDate>2023-06-15</RequestedDeliveryDate>
  11. <CustomerPurchaseOrderDate>2023-06-15</CustomerPurchaseOrderDate>
  12. <Incoterms1>EXW</Incoterms1>
  13. <Incoterms2>Ex Works</Incoterms2>
  14. <PaymentTerms>E007</PaymentTerms>
  15. <CustomerPurchaseOrderNumber>990831 </CustomerPurchaseOrderNumber>
  16. <ReferenceDocumentNumber>SI-000000614</ReferenceDocumentNumber>
  17. <ServicesRenderedDate>2023-06-15</ServicesRenderedDate>
  18. <LogisticData>
  19. <SourceReferenceDocumentNumber>SI-000000614</SourceReferenceDocumentNumber>
  20. <SourceSalesOrderNumber>SO-000050562</SourceSalesOrderNumber>
  21. </LogisticData>
  22. </Header>
  23. <Items>
  24. <ItemNumber>10</ItemNumber>
  25. ............

I need to read the node value "ReferenceDocumentNumber", which is "SI-000000614"

I am using EvaluateXpath processor in Nifi. And my setting is attached in the imageNIFI 读取 XML 节点数值

I had even tried with /@ReferenceDocument. But not getting the node value. Please help here.

答案1

得分: 0

你错过了根元素 ns1:SalesOrderMessages。以下是适用于我的部分:

输入

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ns1:SalesOrderMessages mlns:ns1="http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/SalesOrder" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  3. <SalesOrder>
  4. <MessageProcessingInformation>
  5. <SendingSystemID>SMS_0175</SendingSystemID>
  6. </MessageProcessingInformation>
  7. <Header>
  8. <SalesDocumentType>YPO0</SalesDocumentType>
  9. <SalesOrganization>7002</SalesOrganization>
  10. <DistributionChannel>00</DistributionChannel>
  11. <RequestedDeliveryDate>2023-06-15</RequestedDeliveryDate>
  12. <CustomerPurchaseOrderDate>2023-06-15</CustomerPurchaseOrderDate>
  13. <Incoterms1>EXW</Incoterms1>
  14. <Incoterms2>Ex Works</Incoterms2>
  15. <PaymentTerms>E007</PaymentTerms>
  16. <CustomerPurchaseOrderNumber>990831 </CustomerPurchaseOrderNumber>
  17. <ReferenceDocumentNumber>SI-000000614</ReferenceDocumentNumber>
  18. <ServicesRenderedDate>2023-06-15</ServicesRenderedDate>
  19. <LogisticData>
  20. <SourceReferenceDocumentNumber>SI-000000614</SourceReferenceDocumentNumber>
  21. <SourceSalesOrderNumber>SO-000050562</SourceSalesOrderNumber>
  22. </LogisticData>
  23. </Header>
  24. </SalesOrder>
  25. </ns1:SalesOrderMessages>

XPath 表达式

  1. /*:SalesOrderMessages/SalesOrder/Header/ReferenceDocumentNumber

  1. //ReferenceDocumentNumber

输出

  1. SI-000000614
英文:

You missed the root element ns1:SalesOrderMessages. This works for me:

Input

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ns1:SalesOrderMessages mlns:ns1="http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/SalesOrder" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  3. <SalesOrder>
  4. <MessageProcessingInformation>
  5. <SendingSystemID>SMS_0175</SendingSystemID>
  6. </MessageProcessingInformation>
  7. <Header>
  8. <SalesDocumentType>YPO0</SalesDocumentType>
  9. <SalesOrganization>7002</SalesOrganization>
  10. <DistributionChannel>00</DistributionChannel>
  11. <RequestedDeliveryDate>2023-06-15</RequestedDeliveryDate>
  12. <CustomerPurchaseOrderDate>2023-06-15</CustomerPurchaseOrderDate>
  13. <Incoterms1>EXW</Incoterms1>
  14. <Incoterms2>Ex Works</Incoterms2>
  15. <PaymentTerms>E007</PaymentTerms>
  16. <CustomerPurchaseOrderNumber>990831 </CustomerPurchaseOrderNumber>
  17. <ReferenceDocumentNumber>SI-000000614</ReferenceDocumentNumber>
  18. <ServicesRenderedDate>2023-06-15</ServicesRenderedDate>
  19. <LogisticData>
  20. <SourceReferenceDocumentNumber>SI-000000614</SourceReferenceDocumentNumber>
  21. <SourceSalesOrderNumber>SO-000050562</SourceSalesOrderNumber>
  22. </LogisticData>
  23. </Header>
  24. </SalesOrder>
  25. </ns1:SalesOrderMessages>

Xpath Expression

  1. /*:SalesOrderMessages/SalesOrder/Header/ReferenceDocumentNumber

or

  1. //ReferenceDocumentNumber

Output

  1. SI-000000614

huangapple
  • 本文由 发表于 2023年6月15日 17:42:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/76481202.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定