频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在 Excel 2003 中创建 XML 映射

来源:MSDM 作者: 出处:巧巧读书 2006-01-05 进入讨论组

XML 实例

<?xml version="1.0"?><Root xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance> <Row> <Column1>A</Column1> <Column2>B</Column2> <Column3>C</Column3> </Row> <Row> <Column1>X</Column1> <Column2>Y</Column2> <Column3>Z</Column3> </Row> </Root>

XSD

<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="Root"> <complexType> <sequence> <element name="Row" maxOccurs="unbounded"> <complexType> <sequence> <element name="Column1" type="string" /> <element name="Column2" type="string" /> <element name="Column3" type="string" /> </sequence> </complexType> </element> </sequence> </complexType> </element> </schema> 使用嵌套的元素

用户界面

将 Person 或Root 元素放到单元格 B3 上会产生下表:

 在 Excel 2003 中创建 XML 映射(图三)

图 3. 嵌套的元素映射

XML 实例

<?xml version="1.0"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Person> <FirstName>Janet</FirstName> <Middle>Q</Middle> <LastName>Leverling</LastName> <Address> <Address1>123 Elm</Address1> <Address2></Address2> <City>Pleasantville</City> <State>MA</State> <Zip>12345</Zip> </Address> </Person> <Person> <FirstName>Robert</FirstName> <Middle>Q</Middle> <LastName>Fuller</LastName> <Address> <Address1>123 Main</Address1> <Address2></Address2> <City>Mayberry</City> <State>MA</State> <Zip>12345</Zip> </Address> </Person> </Root>

XSD

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Root"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="unbounded" name="Customer"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="Id" /> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="Name" /> <xsd:element minOccurs="0" maxOccurs="1" name="Address"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="AddressLine" /> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="City" /> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="State" /> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="zip" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element minOccurs="0" maxOccurs="unbounded" name="Order"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="Id" /> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="Date" /> <xsd:element minOccurs="0" maxOccurs="unbounded" name="Product"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="Name" /> <xsd:element minOccurs="0" maxOccurs="1" type="xsd:string" name="Quantity" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> 创建开支报告样式表

用户界面

将 Meta元素放到单元格 B2 中,并将 ExpenseItem 元素放到单元格 B6 中会产生下表:

 在 Excel 2003 中创建 XML 映射(图四)

图 4. 开支报告映射

将 Root 元素放到单元格 B2 中将产生以下变化:

 在 Excel 2003 中创建 XML 映射(图五)

图 5. 开支报告映射上的变化

XML 实例

<?xml version="1.0"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Meta> <Name>Nancy Davolio</Name> <Date>2005-01-01</Date> <SAPCode>0001</SAPCode> </Meta> <ExpenseItem> <Date>2005-01-01</Date> <Description>Airfare</Description> <Amount>500</Amount> </ExpenseItem> <ExpenseItem> <Date>2005-01-01</Date> <Description>Hotel</Description> <Amount>200</Amount> </ExpenseItem> </Root>

XSD

<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="Root"> <complexType> <sequence> <element name="Meta"> <complexType> <sequence> <element name="Name" type="string"/> <element name="Date" type="date"/> <element name="SAPCode"> <simpleType> <restriction base="positiveInteger"> <pattern value="[0-9]{4}" /> </restriction> </simpleType> </element> </sequence> </complexType> </element> <element name="ExpenseItem" maxOccurs="unbounded"> <complexType> <sequence> <element name="Date" type="date"/> <element name="Description" type="string"/> <element name="Amount"> <simpleType> <restriction base="decimal"> <pattern value="[0-9]+(.[0-9]{2})?"/> </restriction> </simpleType> </element> </sequence> </complexType> </element> </sequence> </complexType> </element> </schema> 创建关系表

用户界面

如果您将 Customer 或Root 元素放到单元格 A3 中,该网格将如下所示:

 在 Excel 2003 中创建 XML 映射(图六)

图 6. 关系表映射

您也可以通过以下操作创建三个单独的表: •

将 Customer 元素放到单元格 A3 中(只选择 Customer/Id、Customer/Name 和 Customer/Address)。 •

将 Order 元素放到单元格 A7 中(只选择 Customer/Order/Id 和 Customer/Order/Date)。 •

将 Product 元素放到单元格 A13 中(只选择 Customer/Order/Product/Name 和 Customer/Order/Product/Quantity)。

 在 Excel 2003 中创建 XML 映射(图七)

图 7. 关系表映射的多表视图

专题:http://www.qqread.com/xml/e932198002.html 更多文章 更多内容请看XML详解专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:XML的四种解析器原理及性能比较

较新的文章:XML简介
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选