0

有谁知道忽略 XML 节点名称和属性上的大写/小写/驼峰式的技巧?

一个简单的例子:我给我的客户端一个 XML 文件,其中包含一个名为 fooID 的 XML 属性,但客户端可以更改 XML,并且 - 不知道大小写更改或在“fooid”下添加一个属性。自然,我的解析器(在 AS3 中)会忽略所有小写属性。请注意, fooID 中包含的值不是这里的问题,而是属性名称本身。有任何想法吗?

4

3 回答 3

1

在您的 xml 查询中使用 RegExp,并使其不区分大小写

常量列表:XMLList = xml.*.(@name.toString().search(new RegExp("hello", "i"))!= -1);

于 2013-05-19T11:07:15.477 回答
0

您可以编写自己的 XML 解析器(旧的 E4X 之前的方式),在其中递归遍历所有节点,查找您选择的节点名称,然后写出对象图或以其他方式存储解析的 XML . 这涉及根据任何允许的节点名称(伪代码:)测试每个节点名称if nodename == "fooID" then do something with the node。因为您在每个节点上进行 iffing,您可以通过将节点名和“fooID”都小写来规范匹配。

很麻烦,但能解决问题。

于 2010-09-11T07:36:20.190 回答
0

这似乎对我有用:

var lowerCasePropertyName:String = propertyName.toLowerCase();
var xmlItem:XMLList = xml.*.(attribute("name").toString().toLowerCase()==lowerCasePropertyName);
于 2015-07-17T02:18:12.213 回答