假设我有一个Dictionary<string, string>实例,例如:
{{“ a”,“ 1”},{“ b”,“ 2”}}
有几种方法可以用XML表示它:
<root>
<item>
<key>a</key>
<value>1</value>
</item>
<item>
<key>b</key>
<value>2</value>
</item>
</root>
Run Code Online (Sandbox Code Playgroud)
要么
<root>
<item key="a" value="1"/>
<item key="b" value="2"/>
</root>
Run Code Online (Sandbox Code Playgroud)
要么
<root>
<a>1</a>
<b>2</b>
</root>
Run Code Online (Sandbox Code Playgroud)
描述每种表示形式的XML模式是什么?
谢谢。
看xs:unique元素。对于第一个 XML,适当的 XSD 是:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="item">
<xs:complexType>
<xs:sequence>
<xs:element name="key" type="xs:string" />
<xs:element name="value" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="uniqueItem">
<xs:selector xpath="item"/>
<xs:field xpath="key"/>
</xs:unique>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
对于第二个:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="item">
<xs:complexType>
<xs:attribute name="key" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="uniqueItem">
<xs:selector xpath="item"/>
<xs:field xpath="@key"/>
</xs:unique>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
对于第三个:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="a" type="xs:string" />
<xs:element name="b" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2602 次 |
| 最近记录: |