编辑:我知道这并不能回答如何解决当前 XML 问题的确切问题;但正如许多人评论的那样,您的 XML 容易出现格式错误,会给您带来很多问题。我使用 XML 的次数远远超过任何理智的人应该被迫做的事情,我提供的建议将为您省去很多心痛。
祝你好运!
我要做的是使用属性,也许是 XSD 架构。
让它像这样
<User_Security>
<user name="Bob">
<group>c1</group>
<group>c2</group>
<group>c3</group>
</user>
<user name="Alice">
<group>c1</group>
<group>c2</group>
</user>
</User_Security>
您可以使用 XSD 表示该文件在一个用户中允许多个组;我会找到一个示例并将其发布在编辑中。
编辑:XSD 片段看起来像这样,但您必须了解整个概念:
<xs:element name="user">
<xs:attributename="name" type="xs:string" />
<xs:complexType>
<xs:choice>
<xs:element name="group" type="xs:string" minoccurs="1" maxoccurs="unbounded"/>
</xs:choice>
</xs:complexType>
</xs:element>
执行此块的另一种方法是:
<xs:element name="user">
<xs:attributename="name" type="xs:string" />
<xs:simpleType name="SKU">
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:element>
这使您可以验证您的 XML 输入并确保您的用户节点必须使用名称属性,并且它可以有 1..many 必须是字符串的组。