2015-01-16 37 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

相关问题