收 藏 投 稿 繁 体 RSS 
站长吧-中国站长学习与交流的网站
首 页 运 营 学 院 建 站 论 坛
Web master8.net  
 网站运营  
  欢迎在本站发布信息,在线投递稿件请点这里。编辑QQ:4908220,欢迎联系交流。
业界动态 创业故事 推广研究 策划盈利 电子商务 企业平台
  站长工具
SEO查询 Whois查询 Pr查询 域名查询 IP查询 网页编辑器
 建站服务  
  如有建站意向,请尽快联系我们,以便安排时间... 建站服务 QQ4908220 QQ:4908220
作品展示 服务范围 服务流程 服务报价 联系方式 付款方式
文章正文  » 您的当前位置: 首页 >> 学院 >> 程序开发 >> XML
在 Excel 2003 中创建 XML 映射
  来源:互联网 作者:未知 | 时间:2006-03-16 | 浏览:   相关评论 | 报告错误 | 发布文章
【字号: | | 】 【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)
上的变化

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 中,该网格将如下所示:

 

图 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)。

 

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

XML 实例

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Customer> <Id>1</Id> <Name>Janet Q. Leverling</Name> <Address> <AddressLine>123 Elm</AddressLine> <City>Pleasantville</City> <State>WA</State> <zip>12345</zip> </Address> <Order> <Id>1</Id> <Date>3/2/01</Date> <Product> <Name>Widget</Name> <Quantity>3</Quantity> </Product> <Product> <Name>Sprocket</Name> <Quantity>7</Quantity> </Product> </Order> <Order> <Id>2</Id> <Date>4/7/01</Date> <Product> <Name>Widget</Name> <Quantity>1</Quantity> </Product> </Order> </Customer> <Customer> <Id>2</Id> <Name>Nancy Davolio</Name> <Address> <AddressLine>123 Main</AddressLine> <City>Mayberry</City> <State>WA</State> <zip>12345</zip> </Address> <Order> <Id>3</Id> <Date>5/1/01</Date> <Product> <Name>Widget</Name> <Quantity>5</Quantity> </Product> <Product> <Name>Sprocket</Name> <Quantity>2</Quantity> </Product> </Order> <Order> <Id>4</Id> <Date>5/8/01</Date> <Product> <Name>Widget</Name> <Quantity>4</Quantity> </Product> </Order> </Customer> </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> 创建多维表

用户界面

当您将 FlightReport 或Root 元素放到单元格 A3 中时,该单元格将如下所示:

 

图 8. 多维映射

XML 实例

<?xml version="1.0"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <FlightReport altitude="1000" weight="10000"> <Measurement> <Airspeed>350</Airspeed> <Vibration>125.6</Vibration> <Noise>62</Noise> <Drag>0.12</Drag> </Measurement> <Measurement> <Airspeed>400</Airspeed> <Vibration>99</Vibration> <Noise>75</Noise> <Drag>0.10</Drag> </Measurement> </FlightReport> <FlightReport altitude="2000" weight="10000"> <Measurement> <Airspeed>350</Airspeed> <Vibration>125.6</Vibration> <Noise>62</Noise> <Drag>0.12</Drag> </Measurement> <Measurement> <Airspeed>400</Airspeed> <Vibration>99</Vibration> <Noise>75</Noise> <Drag>0.10</Drag> </Measurement> </FlightReport> <FlightReport altitude="1000" weight="15000"> <Measurement> <Airspeed>350</Airspeed> <Vibration>125.6</Vibration> <Noise>62</Noise> <Drag>0.12</Drag> </Measurement> <Measurement> <Airspeed>400</Airspeed> <Vibration>99</Vibration> <Noise>75</Noise> <Drag>0.10</Drag> </Measurement> </FlightReport> <FlightReport altitude="2000" weight="15000"> <Measurement> <Airspeed>350</Airspeed> <Vibration>125.6</Vibration> <Noise>62</Noise> <Drag>0.12</Drag> </Measurement> <Measurement> <Airspeed>400</Airspeed> <Vibration>99</Vibration> <Noise>75</Noise> <Drag>0.10</Drag> </Measurement> </FlightReport> </Root>

XSD

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">


<element name="Root">
<complexType>
<sequence>


<element name="FlightReport" maxOccurs="unbounded">


<complexType>
<sequence>
<element name="Measurement" maxOccurs="unbounded">


<complexType>
<sequence>
<element name="Airspeed" type="positiveInteger"/>


<element name="Vibration" type="decimal"/><
<element name="Noise" type="positiveInteger"/>


<element name="Drag">
<simpleType>
<restriction base="decimal">


<pattern value="[0-9]{1,2}.[0-9]{2}"/>
</restriction>
</simpleType>


</element>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="altitude" type="positiveInteger"/>


<attribute name="weight" type="positiveInteger"/>
</complexType>


</element>
</sequence>
</complexType>
</element>
</schema>

创建一个以属性为中心的映射

用户界面

当您将 FlightReport 或Root 元素放到单元格 A3 中时,该单元格将如下所示:

 

图 9. 以属性为中心的映射

XML 实例

<?xml version="1.0"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Employees EmployeeId="1" FirstName="Janet" LastName="Leverling" Title="Sales Representative"/> <Employees EmployeeId="2" FirstName="Nancy" LastName="Davolio" Title="Technical Advisor"/> <Employees EmployeeId="3" FirstName="Robert" LastName="Fuller" Title="Accountant"/> </Root>

XSD

<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="Root"> <complexType> <sequence> <element name="Employees" maxOccurs="unbounded"> <complexType> <attribute name="EmployeeId" type="positiveInteger"/> <attribute name="FirstName" type="string"/> <attribute name="LastName" type="string"/> <attribute name="Title"> <simpleType> <restriction base="string"> <enumeration value="Sales Representative"/> <enumeration value="Technical Advisor"/> <enumeration value="Accountant"/> </restriction> </simpleType> </attribute> </complexType> </element> </sequence> </complexType> </element> </schema>

显然,有像架构一样尽可能多的格式来创建它们。这里介绍这组格式化可能性的目的是,为您开发和精细调整您自己的架构提供一个起点。小结

架构使您能够指定哪些元素、属性、数据类型和层次结构允许在 XML 数据文件中出现。您可以使用架构文件验证 XML 数据,并在交换数据时

确保可预见性。由于该可预见性,您可以调整您的架构来确保数据可以正确显示。在 Excel 中,您使用 XML Source 任务网格将元素映射到

单元格。然后,将 XML 数据导入到一个最适合您需要的窗体是相对较容易的。

分页 [1] [2] [3]
lzg001
  • 上一篇:MySQL中的mysqldump命令使用详解
  • 下一篇:Skype出台海外赔偿方案

  • 我要投稿  打印本文  推荐本文  加入收藏  返回顶部  关闭窗口
    搜模板(www.somoban.com) 原创网站模板交易平台
    阿里妈妈再掀疯狂采购风,网站广告位严重告急,急召天下站长
    基于PHP+MySQL的整站、模块、插件开发等或者按需求实现相应功能;
基于各PHP主流建站系统CMS,BBS,BLOG等的模板定制,完全手写代码;
整站数据迁移或备份恢复;网页代码优化、重构;整站常规SEO优化;网站技术支持;
点击了解详情...
    站长论坛
    • 验证码: