【发布时间】:2015-08-14 16:36:55
【问题描述】:
我有一个字符串(来自肥皂的 cdata 块),大致如下:
"<![CDATA[XXX|^~\&
KEY|^~\&|xxxxx|xxxxx^xxxx xxxxx
INFO||xxx|xxxxxx||xxxxx|xxxxxxx|xxxxxxx
INFO|||xxxxx||||xxxxxxxxx||||||||||xxxxxxxx
KEY|^~\&|xxxxxx|xxxxxxxxxx|xxxxxxxx
INFO||xx|xxxxxxxx||xxxxxxx|xxxxxx
INFO|||xxxx|x|||xxxxxxxxx|||||||x|||xxxxx|||xxxx||||||||||||||||||||||||xxxx
KEY|^~\&|xxxxx|xxxxx^xxxx xxxxx
INFO||xxx|xxxxxx||xxxxx|xxxxxxx|xxxxxxx
INFO|||xxxxx||||xxxxxxxxx||||||||||xxxxxxxx ]]>"
我试图弄清楚如何使用 ruby 安全地解析出每个“KEY”部分的字符串。基本上我需要一个看起来像这样的刺痛:
"KEY|^~\&|xxxxx|xxxxx^xxxx xxxxx
INFO||xxx|xxxxxx||xxxxx|xxxxxxx|xxxxxxx
INFO|||xxxxx||||xxxxxxxxx||||||||||xxxxxxxx"
每次都有一个“KEY”。关于解决此问题的最佳方法的想法?谢谢。
【问题讨论】:
-
我对肥皂一无所知,所以如果这无关紧要,我很抱歉,但我建议使用soap library
-
是的,我猜肥皂部分是无关紧要的,我只是提到以防有人可能以前看到过这种类型的响应。这真的是一个红宝石问题。此时只是一个字符串。感谢您的回复。
-
我相信您不会反对我刚刚所做的编辑。通常,我会建议在评论中进行更改,但我不知道您什么时候回来,并且担心不熟悉“cdata”的读者会跳过您的问题。 (我正要这样做。)如您所见,我删除了标题中对“cdata”和“XML”的引用,并删除了关键字“soap”和“cdata”。