2015-02-10 116 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上面。那麼多。