<xs:element name="ProductS" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Product">
<xs:complexType>
<xs:sequence>
<xs:element name="ProductID" msdata:ReadOnly="true" msdata:AutoIncrement="true" type="xs:int" />
<xs:element name="CartegoryID" type="xs:int" minOccurs="0" />
<xs:element name="ProviderID" type="xs:int" minOccurs="0" />
<xs:element name="ProductName" type="xs:string" minOccurs="0" />
<xs:element name="Keyword" type="xs:string" minOccurs="0" />
<xs:element name="Description" type="xs:string" minOccurs="0" />
<xs:element name="Img" type="xs:base64Binary" minOccurs="0" />
<xs:element name="Attachment" type="xs:base64Binary" minOccurs="0" />
<xs:element name="QuotePrice" type="xs:decimal" minOccurs="0" />
<xs:element name="ActPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="flag" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="ProductSKey1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:Product" />
<xs:field xpath="mstns:ProductID" />
</xs:unique>
</xs:element>

解决方案 »

  1.   

    //element//sequence//element ??or//element/*/sequence//element ??
      

  2.   

    did you forget to add a namespace?<xsl:stylesheet ...
      xmlns:xs="..."> <!--use the xmlns from the schema-->//xs:element//xs:sequence/xs:element
      

  3.   

    //element/*/sequence//element 
    你确定是这个吗?
    这么
    我写
    xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/"> 
          <xsl:for-each select="//element//*//sequence//element">
     <xsl:value-of select="normalize-space(@name)"/>

           </xsl:for-each>
         </xsl:template>
    </xsl:stylesheet>
    哪个name的值还是显示不出来????
      

  4.   

    怎么没人回答啊,其实我觉得//element/*/sequence//element  OR //element/./sequence//element
    都是对的,但是不知道为什么name就是获得不了,郁闷的很
      

  5.   

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    >
    <xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/"> 
          <xsl:for-each select="//xs:element//xs:sequence/xs:element">
     <xsl:value-of select="normalize-space(@name)"/>

           </xsl:for-each>
         </xsl:template>
    </xsl:stylesheet>
      

  6.   

    出错了楼上的照你写的我出错了,
    <xsl:for-each select="//xs:element//xs:sequence/xs:element">好象不对吧
      

  7.   

    1. TestSchema.xml (make appropriate changes for the namespaces)<?xml-stylesheet type="text/xsl" href="TestSchema.xsl"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:msdata="..."
    >
    <xs:element name="ProductS" msdata:IsDataSet="true">
    <xs:complexType>
    <xs:choice maxOccurs="unbounded">
    <xs:element name="Product">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="ProductID" msdata:ReadOnly="true" msdata:AutoIncrement="true" type="xs:int" />
    <xs:element name="CartegoryID" type="xs:int" minOccurs="0" />
    <xs:element name="ProviderID" type="xs:int" minOccurs="0" />
    <xs:element name="ProductName" type="xs:string" minOccurs="0" />
    <xs:element name="Keyword" type="xs:string" minOccurs="0" />
    <xs:element name="Description" type="xs:string" minOccurs="0" />
    <xs:element name="Img" type="xs:base64Binary" minOccurs="0" />
    <xs:element name="Attachment" type="xs:base64Binary" minOccurs="0" />
    <xs:element name="QuotePrice" type="xs:decimal" minOccurs="0" />
    <xs:element name="ActPrice" type="xs:decimal" minOccurs="0" />
    <xs:element name="flag" type="xs:int" minOccurs="0" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    <xs:unique name="ProductSKey1" msdata:PrimaryKey="true">
    <xs:selector xpath=".//mstns:Product" />
    <xs:field xpath="mstns:ProductID" />
    </xs:unique>
    </xs:element>
    </xs:schema>
    2. TestSchema.xsl:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    >
    <xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/"> 
          <xsl:for-each select="//xs:element//xs:sequence/xs:element">
     **<xsl:value-of select="normalize-space(@name)"/>**
    <xsl:text>&#10;</xsl:text>

           </xsl:for-each>
         </xsl:template>
    </xsl:stylesheet>
      

  8.   

    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema id="ProductS" targetNamespace="http://tempuri.org/ProductS.xsd" elementFormDefault="qualified"
    attributeFormDefault="qualified" xmlns="http://tempuri.org/ProductS.xsd" xmlns:mstns="http://tempuri.org/ProductS.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="ProductS" msdata:IsDataSet="true">
    <xs:complexType>
    <xs:choice maxOccurs="unbounded">
    <xs:element name="Product">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="ProductID" msdata:ReadOnly="true" msdata:AutoIncrement="true" type="xs:int" />
    <xs:element name="CartegoryID" type="xs:int" minOccurs="0" />
    <xs:element name="ProviderID" type="xs:int" minOccurs="0" />
    <xs:element name="ProductName" type="xs:string" minOccurs="0" />
    <xs:element name="Keyword" type="xs:string" minOccurs="0" />
    <xs:element name="Description" type="xs:string" minOccurs="0" />
    <xs:element name="Img" type="xs:base64Binary" minOccurs="0" />
    <xs:element name="Attachment" type="xs:base64Binary" minOccurs="0" />
    <xs:element name="QuotePrice" type="xs:decimal" minOccurs="0" />
    <xs:element name="ActPrice" type="xs:decimal" minOccurs="0" />
    <xs:element name="flag" type="xs:int" minOccurs="0" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    <xs:unique name="ProductSKey1" msdata:PrimaryKey="true">
    <xs:selector xpath=".//mstns:Product" />
    <xs:field xpath="mstns:ProductID" />
    </xs:unique>
    </xs:element>
    </xs:schema>
    XSLT
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/"> 
          
     <xsl:for-each select="//xs:element//xs:sequence/xs:element">
     **<xsl:value-of select="normalize-space(@name)"/>**
    <xsl:text>&#10;</xsl:text>

           </xsl:for-each>
         </xsl:template>
    </xsl:stylesheet>老说你的select="//xs:element//xs:sequence/xs:element"里面有错误
      

  9.   

    copy my xslt as is, don't you see that I have<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      

  10.   

    对了谢谢你,
    为什么要加你那句啊?
    为什么把我原来哪个换成你哪个开头就对了啊?
    我真不明白~~~再问你个问题,比如说我要查询
    还是哪个XML
    <xs:element name="ProductID" msdata:ReadOnly="true" msdata:AutoIncrement="true" type="xs:int" />
    <xs:element name="CartegoryID" type="xs:int" minOccurs="0" />
    里面的属性都不一样一个有msdata:ReadOnly="true"
    如果我要查询每个element 后面的每个属性的值,怎么查??每个element 属性不一样,
      

  11.   

    我想全部查出来,我给你发了消息,希望你能用MSN加我,
    我可以白天也问下你了,谢谢你啊~
      

  12.   

    还有想问下如果这个我不用select="//xs:element//xs:sequence/xs:element"
    我不要xs:怎么写?
      

  13.   

    you have to understand how namespace works, seeXML Namespaces and How They Affect XPath and XSLT
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml05202002.asp
      

  14.   

    THAKS
    非常感谢你。的帮忙