2015-02-10 74 views
-5

我是XSD新手,请帮忙。我在SQL Server Management Studio 2008中使用“for xml path”创建了一些XML。它看起来像: enter image description here通过xsd验证xml

我读过一些文献,在创建这样的XML后,我应该运行这个: enter image description here

但它不起作用。据我所知,在xml中保存这个文件并点击它两次后,它应该在浏览器中打开xml。但事实并非如此。哪里不对?主键是ReferenceCode。我已经使用此查询创建的XML:

select p.ReferenceCode 
     ,p.LastName 
     ,p.FirstName 
     ,p.BirthDate 
     ,p.BirthPlace 
     ,(
      select d.Type 
       ,d.Series 
       ,d.Number 
       ,d.IssueDate 
       ,d.IssueAuthority 
      from #Document d 
      where d.ReferenceCode = p.ReferenceCode 
       for xml path ('Document'),root('Documents'),Type 
     ) 
     ,(
      select a.Type 
       ,a.Street 
      from #Address a 
      where a.ReferenceCode = p.ReferenceCode 
       for xml path ('Address'),root('Addresses'),Type 
     ) 
     ,(
      select h.Number 
      from #Phone h 
      where h.ReferenceCode = p.ReferenceCode 
       for xml path ('Phone'),root('Phone'),Type 
     ) 
    from #Person p 
     for xml path ('Person'),root('Root') 

在此先感谢

<Root> 
    <Person> 
    <ReferenceCode>10000007462</ReferenceCode> 
    <LastName>Артамонова</LastName> 
    <FirstName>Галина</FirstName> 
    <BirthDate>1961-07-19</BirthDate> 
    <BirthPlace>РОССИЙСКАЯ ФЕДЕРАЦИЯ, д. Криуша Староюрьевского р-на Тамбовской обл.</BirthPlace> 
    <Documents> 
     <Document> 
     <Type>21</Type> 
     <Series>4508</Series> 
     <Number>685129</Number> 
     <IssueDate>2006-08-16</IssueDate> 
     <IssueAuthority>ОВД р-на Чертаново-Центральное г. Москвы,</IssueAuthority> 
     </Document> 
    </Documents> 
    <Addresses> 
     <Address> 
     <Type>1</Type> 
     <Street>Днепропетровская ул</Street> 
     </Address> 
     <Address> 
     <Type>1</Type> 
     <Street>Декабристов ул</Street> 
     </Address> 
     <Address> 
     <Type>2</Type> 
     <Street>Днепропетровская ул</Street> 
     </Address> 
     <Address> 
     <Type>2</Type> 
     <Street>Декабристов ул</Street> 
     </Address> 
    </Addresses> 
    <Phones> 
     <Phone> 
     <Number>907-09-33  </Number> 
     </Phone> 
     <Phone> 
     <Number>+7(903)1780367 </Number> 
     </Phone> 
    </Phones> 
    </Person> 
</Root> 
+2

请不要将图片用于代码或数据。 – kjhughes 2015-02-10 12:31:27

+1

定义“它不起作用”。什么不行? 'xsd'是否给出错误?它不会创建文件吗?它会创建错误的文件吗?我会试试看,但我不打算重新输入你发布的图像。 – 2015-02-12 12:03:37

+0

我已添加文本格式。 XSD只是没有创建,就是这样。命令提示符无错地执行 – 2015-02-12 14:00:34

回答

-1

非常感谢,问题是 - 我不能创建与上面的XML XSD,请帮我创造它。答案是 - 使用另一个版本,它被创建,然后删除,编码是错误的。

我自己找到了答案,我只需要标题通常放在XML上面。那么多。