将 XML 导入到 Excel 时,是否可以在一行中导入一个节点及其子节点?如果是,怎么办?
While importing XML to Excel, is it possible to import a node and it's children on one line ? If yes, how can it be done?
为了使用 Java 框架 (MATSim),我希望能够从 XML 导入和导出到 Excel(和 Excel XML)。为此我使用和 XSD 文件,但有些节点必须出现多次。
我的 XML 文件如下所示:
<population>
<attributes>
<attribute name="coordinateReferenceSystem" class="java.lang.String" >EPSG:2154</attribute>
</attributes>
<!-- ====================================================================== -->
<person id="100007">
<attributes>
<attribute name="age" class="java.lang.Integer" >50</attribute>
</attributes>
<plan score="125.08754835604087" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:09">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:09" distance="10233.148696149716">720.0 806.0</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:17:12" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:42">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:42" distance="11558.582054437727">720.0 868.0</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="129.66748741175877" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:37" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:09">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:25" distance="10233.148696149716">720.0 817.0967661750838</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:12:16" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:42">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:47" distance="11558.582054437727">720.0 871.4448190285184</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="129.02719843569574" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:29">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:29" distance="10233.148696149716">720.0 819.4304164945643</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:17:12" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:56">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:56" distance="11558.582054437727">720.0 877.3676952931855</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="128.83469902010924" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="08:01:19" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:09">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:34" distance="10233.148696149716">720.0 823.0953896303872</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:19:45" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:42">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:56" distance="11558.582054437727">720.0 877.956354092079</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="125.08754835604087" selected="yes">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:41">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:41" distance="10233.148696149716">720.0 827.8504105620923</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:17:12" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:32:03">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:32:03" distance="11558.582054437727">720.0 882.6003787117806</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
</person>
</population>
但在Excel中会显示如下:
The actual result
对于一个计划,它最终出现在 5 个不同的行上,但我希望每个计划只显示一行
id, age, score, selected, type, link, x, y, end_time, mode, dep_time, trav_time, route, start_link, end_link, type, link, x, y, end_time, mode, dep_time, trav_time, route, start_link, end_link, type, link, x, y, end_time
我不介意每个计划只有一行,如果我希望我可以将它们整理出来,但是将所有数据放在一行上确实会改变事情并使它们易于使用。
我不太了解。XSD,我只使用在线转换器创建它。
<?xml version="1.0" encoding="utf-8"?>
<!-- Created with Liquid Technologies Online Tools 1.0 (https://www.liquid-technologies.com) -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="population">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="person">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attributes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attribute">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="class" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="plan">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" name="activity">
<xs:complexType>
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="x" type="xs:decimal" use="optional" />
<xs:attribute name="y" type="xs:decimal" use="optional" />
<xs:attribute name="end_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="leg">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="route">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="start_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="end_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
<xs:attribute name="distance" type="xs:decimal" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="mode" type="xs:string" use="optional" />
<xs:attribute name="dep_time" type="xs:time" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="score" type="xs:decimal" use="optional" />
<xs:attribute name="selected" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我试过修改数字"minOccurs"和"maxOccurs"但是没有给出预期的结果,据我所知,我什至不知道是否可以这样做。
非常感谢您的宝贵时间。
您的 XSD 中有两个错误:
您缺少在 <plan>
元素之前复制 <attributes>
的定义(在您的定界符 <!-- =====...==== -->
之前)
<activity>
元素的complexType
需要一个mixed="true"
属性,因为
A mixed complex type element can contain attributes, elements, and text.
所以整个XSD应该是这样的(两个变化用注释标出):
<?xml version="1.0" encoding="utf-8"?>
<!-- Created with Liquid Technologies Online Tools 1.0 (https://www.liquid-technologies.com) -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="population">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attributes"> <!-- Added for solution -->
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attribute">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="class" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="person">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attributes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attribute">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="class" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="plan">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" name="activity">
<xs:complexType mixed="true"> <!-- Added for solution -->
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="x" type="xs:decimal" use="optional" />
<xs:attribute name="y" type="xs:decimal" use="optional" />
<xs:attribute name="end_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="leg">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="route">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="start_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="end_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
<xs:attribute name="distance" type="xs:decimal" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="mode" type="xs:string" use="optional" />
<xs:attribute name="dep_time" type="xs:time" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="score" type="xs:decimal" use="optional" />
<xs:attribute name="selected" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
为避免混合内容的必要性,您必须将 <activity>
元素更改为不包含任何内容(甚至空格)。所以你可以改变
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00">
</activity>
至
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" />
或
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00"></activity>
但是对于当前的空格,您必须在 complexType
.
上使用 mixed="true"
属性
为了使用 Java 框架 (MATSim),我希望能够从 XML 导入和导出到 Excel(和 Excel XML)。为此我使用和 XSD 文件,但有些节点必须出现多次。
我的 XML 文件如下所示:
<population>
<attributes>
<attribute name="coordinateReferenceSystem" class="java.lang.String" >EPSG:2154</attribute>
</attributes>
<!-- ====================================================================== -->
<person id="100007">
<attributes>
<attribute name="age" class="java.lang.Integer" >50</attribute>
</attributes>
<plan score="125.08754835604087" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:09">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:09" distance="10233.148696149716">720.0 806.0</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:17:12" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:42">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:42" distance="11558.582054437727">720.0 868.0</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="129.66748741175877" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:37" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:09">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:25" distance="10233.148696149716">720.0 817.0967661750838</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:12:16" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:42">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:47" distance="11558.582054437727">720.0 871.4448190285184</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="129.02719843569574" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:29">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:29" distance="10233.148696149716">720.0 819.4304164945643</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:17:12" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:56">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:56" distance="11558.582054437727">720.0 877.3676952931855</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="128.83469902010924" selected="no">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="08:01:19" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:09">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:34" distance="10233.148696149716">720.0 823.0953896303872</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:19:45" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:31:42">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:31:56" distance="11558.582054437727">720.0 877.956354092079</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
<plan score="125.08754835604087" selected="yes">
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" >
</activity>
<leg mode="drt" dep_time="07:58:00" trav_time="00:30:41">
<route type="drt" start_link="502570" end_link="146319" trav_time="00:30:41" distance="10233.148696149716">720.0 827.8504105620923</route>
</leg>
<activity type="w" link="146319" x="645036.2443" y="6868434.1435" end_time="18:17:12" >
</activity>
<leg mode="drt" dep_time="18:17:12" trav_time="00:32:03">
<route type="drt" start_link="146319" end_link="502570" trav_time="00:32:03" distance="11558.582054437727">720.0 882.6003787117806</route>
</leg>
<activity type="h" link="502570" x="645800.341" y="6860736.1577" >
</activity>
</plan>
</person>
</population>
但在Excel中会显示如下:
The actual result
对于一个计划,它最终出现在 5 个不同的行上,但我希望每个计划只显示一行
id, age, score, selected, type, link, x, y, end_time, mode, dep_time, trav_time, route, start_link, end_link, type, link, x, y, end_time, mode, dep_time, trav_time, route, start_link, end_link, type, link, x, y, end_time
我不介意每个计划只有一行,如果我希望我可以将它们整理出来,但是将所有数据放在一行上确实会改变事情并使它们易于使用。
我不太了解。XSD,我只使用在线转换器创建它。
<?xml version="1.0" encoding="utf-8"?>
<!-- Created with Liquid Technologies Online Tools 1.0 (https://www.liquid-technologies.com) -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="population">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="person">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attributes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attribute">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="class" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="plan">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" name="activity">
<xs:complexType>
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="x" type="xs:decimal" use="optional" />
<xs:attribute name="y" type="xs:decimal" use="optional" />
<xs:attribute name="end_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="leg">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="route">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="start_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="end_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
<xs:attribute name="distance" type="xs:decimal" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="mode" type="xs:string" use="optional" />
<xs:attribute name="dep_time" type="xs:time" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="score" type="xs:decimal" use="optional" />
<xs:attribute name="selected" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我试过修改数字"minOccurs"和"maxOccurs"但是没有给出预期的结果,据我所知,我什至不知道是否可以这样做。
非常感谢您的宝贵时间。
您的 XSD 中有两个错误:
您缺少在
<plan>
元素之前复制<attributes>
的定义(在您的定界符<!-- =====...==== -->
之前)<activity>
元素的complexType
需要一个mixed="true"
属性,因为A mixed complex type element can contain attributes, elements, and text.
所以整个XSD应该是这样的(两个变化用注释标出):
<?xml version="1.0" encoding="utf-8"?>
<!-- Created with Liquid Technologies Online Tools 1.0 (https://www.liquid-technologies.com) -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="population">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attributes"> <!-- Added for solution -->
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attribute">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="class" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="person">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attributes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="attribute">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="class" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="plan">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" name="activity">
<xs:complexType mixed="true"> <!-- Added for solution -->
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="x" type="xs:decimal" use="optional" />
<xs:attribute name="y" type="xs:decimal" use="optional" />
<xs:attribute name="end_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="leg">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="route">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="start_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="end_link" type="xs:unsignedInt" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
<xs:attribute name="distance" type="xs:decimal" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="mode" type="xs:string" use="optional" />
<xs:attribute name="dep_time" type="xs:time" use="optional" />
<xs:attribute name="trav_time" type="xs:time" use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="score" type="xs:decimal" use="optional" />
<xs:attribute name="selected" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
为避免混合内容的必要性,您必须将 <activity>
元素更改为不包含任何内容(甚至空格)。所以你可以改变
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00">
</activity>
至
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00" />
或
<activity type="h" link="502570" x="645800.341" y="6860736.1577" end_time="07:58:00"></activity>
但是对于当前的空格,您必须在 complexType
.
mixed="true"
属性