2013-07-19 69 views
-1
<ns2:createOrder> 
     <ns2:serviceResponseContext > 
      <interactionId></interactionId> 
      <requestId>5</requestId> 
      <requestReceivedTimestamp>Mon Jul 15 10:06:45 MDT 
</requestReceivedTimestamp> 
      <responseGeneratedTimestamp>Mon Jul 15 10:07:29 MDT </responseGeneratedTimestamp> 
      <serverHostPort></serverHostPort> 
      <serviceDuration>44541</serviceDuration> 
      <statusCode>0</statusCode> 
     </ns2:serviceResponseContext> 
     <ns2:createOrderResponse> 
      <ns2:statusLog> 
       <ns2:createOrderStep>PROVISION_CODE</ns2:createOrderStep> 
       <ns2:statusCode>0</ns2:statusCode> 
       <ns2:message></ns2:message> 
      </ns2:statusLog> 
      <ns2:statusLog> 
       <ns2:createOrderStep>VISION_CODE</ns2:createOrderStep> 
       <ns2:statusCode>0</ns2:statusCode> 
       <ns2:message></ns2:message> 
      </ns2:statusLog> 

我需要從XML文件中提取第一<statusCode>只有當的StatusCode = 0 的<statusCode>應該是<createOrder>使用正則表達式內。使用正則表達式在日誌文件中查找XML標記?

我需要的只是第一<statusCode>0<statusCode>而忽略其他內部<createOrderStep>

謝謝您的幫助!

+4

你爲什麼不使用XML API呢?這可能會少得多...... –

+2

請勿使用正則表達式。使用適當的DOM解析器。你會發現這是一個很容易與xpath相比,這是一個正則表達式。 –

+1

它是我實習的一部分,我需要使用正則表達式。感謝您的輸入 –

回答

0

試試下面的這既適用於

<statusCode>0</statusCode> and <ns2:statusCode>0</ns2:statusCode>

/<(ns2:)?statusCode>0<\/(ns2:)?statusCode>/

+0

謝謝!但上面的代碼無法正常工作 –

+0

\ bcreateOrderResponse \ b。* \ bstatusCode> 0

+0

不知道爲什麼我的regx不起作用。粘貼前我已經測試過了。讓我看看你如何試用它的代碼。順便說一句,我沒有看到xml中的createOrderResponse,所以不知道你爲什麼在你的正則表達式中使用它。 – GiridharBandi

相關問題