以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  新手求教,拜谢各位大神,数据库中提取出一个字段内容为XML文档。如何取出其中一个节点ID=edition的节点。然后节点在重新组合  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=84715)


--  作者:guduke
--  发布时间:5/11/2010 1:40:00 PM

--  新手求教,拜谢各位大神,数据库中提取出一个字段内容为XML文档。如何取出其中一个节点ID=edition的节点。然后节点在重新组合
新手求教,拜谢各位大神,数据库中提取出一个字段内容为XML文档。如何取出其中一个节点ID=edition的节点。然后节点在重新组合

我用的是动易系统。重数据表中取出一个字段 字段内容为


<?xml version="1.0" encoding="utf-16"?> <ArrayOfFieldInfo> <FieldInfo Id="nodeid" Disabled="false" OrderId="1"> <FieldName>NodeId</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>所属节点</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>NodeType</FieldType> <Settings> <string /> <string /> <string /> <string /> </Settings> <EnableNull>true</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="specialid" Disabled="false" OrderId="2"> <FieldName>SpecialId</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>专题</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>SpecialType</FieldType> <Settings> <string /> <string /> <string /> <string /> </Settings> <EnableNull>true</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="includepic" Disabled="true" OrderId="3"> <FieldName>IncludePic</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>标题前缀</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>ListBoxType</FieldType> <Settings> <string>无|无$$$[图文]|[图文]$$$[组图]|[组图]$$$[推荐]|[推荐]$$$[注意]|[推荐]</string> <string>1</string> <string>False</string> <string>1</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="title" Disabled="false" OrderId="4"> <FieldName>Title</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>标题</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>TitleType</FieldType> <Settings> <string>255</string> <string>80</string> <string>True</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="titleintact" Disabled="true" OrderId="5"> <FieldName>TitleIntact</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>完整标题</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>TextType</FieldType> <Settings> <string>200</string> <string>80</string> <string>False</string> <string>0</string> <string>False</string> <string>False</string> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="subheading" Disabled="true" OrderId="6"> <FieldName>Subheading</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>副标题</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>TextType</FieldType> <Settings> <string>200</string> <string>80</string> <string>False</string> <string>0</string> <string>False</string> <string>False</string> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="titlefontcolor" Disabled="true" OrderId="7"> <FieldName>TitleFontColor</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>标题颜色</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>ColorType</FieldType> <Settings /> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="titlefonttype" Disabled="true" OrderId="8"> <FieldName>TitleFontType</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>标题字型</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>ListBoxType</FieldType> <Settings> <string>字形$$$粗体$$$斜体$$$粗+斜$$$规则</string> <string>1</string> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="keyword" Disabled="true" OrderId="10"> <FieldName>Keyword</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>关键字</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>KeywordType</FieldType> <Settings> <string>50</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="author" Disabled="false" OrderId="11"> <FieldName>Author</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>作者</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>AuthorType</FieldType> <Settings> <string>50</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="copyfrom" Disabled="false" OrderId="12"> <FieldName>CopyFrom</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>来源</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>SourceType</FieldType> <Settings> <string>50</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="intro" Disabled="true" OrderId="13"> <FieldName>Intro</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>简介</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>MultipleTextType</FieldType> <Settings> <string>500</string> <string>80</string> <string>False</string> <string>False</string> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="content" Disabled="false" OrderId="14"> <FieldName>Content</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>文章内容</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>ContentType</FieldType> <Settings> <string>600</string> <string>500</string> <string>jpg|gif|jpeg|png|bmp</string> <string>swf|fla|wmv|mp3|rm|rmvb|avi</string> <string>txt|doc|rar|zip</string> <string>False</string> <string>False</string> <string>1024</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="defaultpicurl" Disabled="true" OrderId="15"> <FieldName>DefaultPicUrl</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>首页图片</FieldAlias> <FieldLevel>0</FieldLevel> <FieldType>PictureType</FieldType> <Settings> <string>30</string> <string>1024</string> <string>jpg|gif|bmp</string> <string>0</string> <string>0</string> <string>0</string> <string>False</string> <string>True</string> </Settings> <EnableNull>false</EnableNull> </FieldInfo> <FieldInfo Id="paginationtype" Disabled="true" OrderId="16"> <FieldName>PaginationType</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>内容分页方式</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description>手动分页符标记为“[NextPage]”,注意大小写。</Description> <FieldType>ListBoxType</FieldType> <Settings> <string>不分页$$$自动分页$$$手动分页</string> <string>1</string> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="maxcharperpage" Disabled="true" OrderId="17"> <FieldName>MaxCharPerPage</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>自动分页字符数</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description>自动分页时的每页大约字符数</Description> <FieldType>NumberType</FieldType> <Settings> <string /> <string /> <string>0</string> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="hits" Disabled="false" OrderId="18"> <FieldName>Hits</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>点击数</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>NumberType</FieldType> <Settings> <string>0</string> <string /> <string>-1</string> <string>False</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue>0</DefaultValue> </FieldInfo> <FieldInfo Id="dayhits" Disabled="false" OrderId="19"> <FieldName>DayHits</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>日点击数</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>NumberType</FieldType> <Settings> <string>0</string> <string /> <string>-1</string> <string>False</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue>0</DefaultValue> </FieldInfo> <FieldInfo Id="weekhits" Disabled="false" OrderId="20"> <FieldName>WeekHits</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>周点击数</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>NumberType</FieldType> <Settings> <string>0</string> <string /> <string>-1</string> <string>False</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue>0</DefaultValue> </FieldInfo> <FieldInfo Id="monthhits" Disabled="false" OrderId="21"> <FieldName>MonthHits</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>月点击数</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>NumberType</FieldType> <Settings> <string>0</string> <string /> <string>-1</string> <string>False</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue>0</DefaultValue> </FieldInfo> <FieldInfo Id="updatetime" Disabled="false" OrderId="22"> <FieldName>UpdateTime</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>更新时间</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>DateTimeType</FieldType> <Settings> <string>yyyy-MM-dd HH:mm:ss</string> <string>1</string> <string>2007/8/14 22:07:20</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue>Now</DefaultValue> </FieldInfo> <FieldInfo Id="templatefile" Disabled="false" OrderId="23"> <FieldName>TemplateFile</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>内容页模板</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>TemplateType</FieldType> <Settings /> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="infoid" Disabled="false" OrderId="24"> <FieldName>InfoId</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>所属其它节点</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description>如一篇文章同时属于多个栏目,在此选择即可!</Description> <FieldType>InfoType</FieldType> <Settings> <string /> <string /> <string /> <string /> </Settings> <EnableNull>true</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="elitelevel" Disabled="false" OrderId="25"> <FieldName>EliteLevel</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>推荐级</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description>&nbsp;<span style='color:Blue;'>注:数字越大推荐级别越高</span></Description> <FieldType>NumberType</FieldType> <Settings> <string>0</string> <string>100</string> <string>-1</string> <string>False</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue>0</DefaultValue> </FieldInfo> <FieldInfo Id="priority" Disabled="false" OrderId="26"> <FieldName>Priority</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>优先级</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description>&nbsp;<span style='color:Blue;'>注:数字越大优先级别越高</span></Description> <FieldType>NumberType</FieldType> <Settings> <string>0</string> <string>100</string> <string>-1</string> <string>0</string> </Settings> <EnableNull>true</EnableNull> <DefaultValue>0</DefaultValue> </FieldInfo> <FieldInfo Id="status" Disabled="false" OrderId="27"> <FieldName>Status</FieldName> <EnableShowOnSearchForm>true</EnableShowOnSearchForm> <FieldAlias>状态</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description /> <FieldType>StatusType</FieldType> <Settings /> <EnableNull>true</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="stars" Disabled="true" OrderId="28"> <FieldName>Stars</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>评分等级</FieldAlias> <FieldLevel>1</FieldLevel> <Tips /> <Description /> <FieldType>ListBoxType</FieldType> <Settings> <string>★★★★★$$$★★★★$$$★★★$$$★★$$$★$$$无</string> <string>1</string> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue /> </FieldInfo> <FieldInfo Id="showcommentlink" Disabled="true" OrderId="9"> <FieldName>ShowCommentLink</FieldName> <EnableShowOnSearchForm>false</EnableShowOnSearchForm> <FieldAlias>显示“评论”链接</FieldAlias> <FieldLevel>0</FieldLevel> <Tips /> <Description>列表显示时是否在标题旁显示“评论”链接</Description> <FieldType>BoolType</FieldType> <Settings> <string>False</string> </Settings> <EnableNull>false</EnableNull> <DefaultValue>False</DefaultValue> </FieldInfo> </ArrayOfFieldInfo>

我想取出

<FieldInfo Id="version" Disabled="false" OrderId="5">
    <FieldName>Version</FieldName>
    <EnableShowOnSearchForm>true</EnableShowOnSearchForm>
    <EnableFilter>false</EnableFilter>
    <FieldAlias>教材版本</FieldAlias>
    <FieldLevel>1</FieldLevel>
    <Tips />
    <Description />
    <FieldType>ListBoxType</FieldType>
    <Settings>
      <string>语文版|1$$$苏教版|2$$$鄂教版|3</string>
      <string>1</string>
      <string>False</string>
      <string>1</string>
    </Settings>
    <EnableNull>false</EnableNull>
    <DefaultValue />
  </FieldInfo>

中的

      <string>语文版|1$$$苏教版|2$$$鄂教版|3</string>
并且

重新组织成<li><a href="&version=1" >语文版</a></li>
<li><a href="&version=2" >苏教版</a></li>
<li><a href="&version=5" >鄂教版</a></li>

其中

我用的动易的系统 ,他的数据取出时xml格式的。取出的这个数据本身也是个XML格式的。然后要去的这个数据的子节点再重新组合。
<xsl:for-each select="/NewDataSet/Table">

<xsl:variable name="edition">
<xsl:value-of select="Field"/>
</xsl:variable>


<xsl:for-each select="msxsl:node-set($edition)/FieldInfo">
<xsl:value-of select="Settings"/>
</xsl:for-each>

</xsl:for-each>

不盛感谢。


--  作者:Qr
--  发布时间:5/11/2010 9:49:00 PM

--  
重新组织:
http://blogger.org.cn/blog/more.asp?name=Qr&id=34942
还有几篇相关的,自己在BLOG上找,
--  作者:guduke
--  发布时间:5/11/2010 11:07:00 PM

--  
你好,感谢您的回复和帮助。重新组织还好。但是我目前最大的麻烦事不晓得如何从那么大一个数据里取出

语文版|1$$$苏教版|2$$$鄂教版|3

这个指定的字符串。
把这个字符串肤质给一个变量然后处理我基本清楚了。谢谢!


--  作者:guduke
--  发布时间:5/12/2010 11:22:00 AM

--  
其中我要取的字符串
语文版|1$$$苏教版|2$$$鄂教版|3
所在父节点 Id="version" 唯一
<FieldInfo Id="version" Disabled="false" OrderId="5">
    <FieldName>Version</FieldName>
    <EnableShowOnSearchForm>true</EnableShowOnSearchForm>
    <EnableFilter>false</EnableFilter>
    <FieldAlias>教材版本</FieldAlias>
    <FieldLevel>1</FieldLevel>
    <Tips />
    <Description />
    <FieldType>ListBoxType</FieldType>
    <Settings>
      <string>语文版|1$$$苏教版|2$$$鄂教版|3</string>
      <string>1</string>
      <string>False</string>
      <string>1</string>
    </Settings>
    <EnableNull>false</EnableNull>
    <DefaultValue />
  </FieldInfo>


--  作者:Qr
--  发布时间:5/12/2010 12:46:00 PM

--  
<xsl:value-of select="FieldInfo[@Id='version']/Settings/string[1]"/>
--  作者:guduke
--  发布时间:5/12/2010 4:36:00 PM

--  
你好,怪我表述的有问题。现在我遇到的问题是。这个大的内容是我查询出来的。并且通过
<xsl:value-of select="Field"/>表现出来。 现在我是不晓得 如何把 <xsl:value-of select="Field"/> 这个连起来用<xsl:value-of select="FieldInfo[@Id='version']/Settings/string[1]"/>
也就是 FieldInfo 怎么能够取得<xsl:value-of select="Field"/>中的值。
谢谢。因为本身不是很清楚这个。但是目前又要用到。谢谢你了!


--  作者:Qr
--  发布时间:5/12/2010 5:17:00 PM

--  
看不明白你要表达什么?
--  作者:guduke
--  发布时间:5/12/2010 7:25:00 PM

--  
你好,我的意思<xsl:value-of select="Field"/>是我从数据库中查询出来的。我要从这个<xsl:value-of select="Field"/>中。查询出FieldInfo[@Id='version']/Settings/string[1]"的内容。怎么样写路径才能使得这个路径得到是<xsl:value-of select="Field"/>字段中的文档中的FieldInfo[@Id='version']/Settings/string[1] 路径的值。不晓得我表达清楚了没有。谢谢!
--  作者:guduke
--  发布时间:5/12/2010 7:28:00 PM

--  
也就是我不晓得 从数据库中查询的<xsl:value-of select="Field"/> 中怎么样在xslt中来引用,从而写出 这个字段中存的xml文档的值。
--  作者:guduke
--  发布时间:5/12/2010 7:57:00 PM

--  
我想明白了。因为我用的XML都是动易系统生成的。直接调用就可以了。现在这个XML文档时我从数据库里查询出来的。所以<xsl:value-of select="FieldInfo[@Id='version']/Settings/string[1]"/> 这个路径的 fieldinfo 前面应该有点什么吧。要不怎么才能将这个模板应用于<xsl:value-of select="Field"/> 呢?
--  作者:t106106
--  发布时间:5/31/2010 12:29:00 PM

--  
我也 是新手!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
109.375ms