2015-01-16 63 views
0

我在我的Rails應用中使用teamforge,效果很好。爲什麼我無法解析XML格式?

現在我想測試它,所以我使用的是savon_spec寶石。我正在將Soap XML作爲燈具供給。

我沒有得到正在從soap UI工具中直接獲取的XML進行分析的XML所需的行爲,但是當我刪除格式時,它就像一個魅力。

我不知道爲什麼它不起作用。在內部,teamforge和savon使用Nokogiri。

我會把這兩個XML:

如果我刪除所有空格,並把它變成它按預期工作單行。

我最初很難找到爲什麼XML不起作用,然後我能夠縮小到如果我把無格式的XML工作。

爲什麼Soap UI格式的XML會破壞解析?

  1. 我只是想看看什麼是真正打破了所以我就開始引入缺口在一步一個腳印。這是最終的作品格式 - xml

  2. 然後下一行縮進格式。這是破的 - breakingformatxml

+0

解析失敗在哪裏?在TeamForge方面?如果是這樣,這聽起來像他們解析不好。 teamforge寶石方面的問題是?如果是這樣,這聽起來像他們解析不好。 –

+0

雅我只是看着那部分。我更新了我的進一步調試結果 –

回答

0

找到原因。

答案是nokogiri xpath nokogiri-1.6.5/lib/nokogiri/xml/node.rb返回一個有節點數組的節點集。這在創建數組時會考慮每個換行符,並將其視爲有效節點並將其設置爲TextNode。所以發生了什麼事情是teamforge ruby​​ gem沒有想到或處理xml中可能的新行的這種情況,所以xml的解析和轉換爲對象破壞了,因爲沒有對象中的文本這樣的屬性。

一些像我一樣也面臨類似problem

相關問題