问题描述
怎么将xml文件里的信息解析出来,并输出到asp.net2.0页面上。谢谢大家。
解决方案
解决方案二:
用datatable直接load那个需要解析的xml然后把gridview的数据源绑定为这个datatable.....
解决方案三:
不是这个意思,我是想把信息提取出来。例如:<CustomerInfoID="001"CustomerJobName="Book"CustomerOrderID="ICSsample"><ContactContactTypes="Administrator"><AddressCity="xi'an"Country="china"PostalCode="710048"Street="5#"/><CompanyOrganizationName="xaut"/><PersonFamilyName="xue"FirstName="lian"/><ComChannelChannelType="Phone"Locator="82134000"/><Comment>CustromerCommentonTUXi'an</Comment></Contact></CustomerInfo>想把ID="001“提取出来,在页面显示ID=001,且001是在textbox中,也可以修改。
解决方案四:
方法很多..可以自己写个解析的过程...varGetXmlData=function(xmlObj,tagName){varnode=xmlObj.getElementsByTagName(tagName);if(node!=null&&node[0]!=null&&node[0].firstChild!=null){returnnode[0].firstChild.data;};return"";};传入一个XML类似..varMapAnnounceExt=function(xmlDoc){varobj=newObject();vark=0;varrootObj=xmlDoc.responseXML.documentElement;if(rootObj!=null){obj.SiteCode=GetXmlData(rootObj,"SiteCode");obj.SourceID=GetXmlData(rootObj,"SourceID");obj.SourceType=GetXmlData(rootObj,"SourceType");obj.SourceFlag=GetXmlData(rootObj,"SourceFlag");obj.FromSiteCode=GetXmlData(rootObj,"FromSiteCode");obj.FromSourceID=GetXmlData(rootObj,"FromSourceID");obj.CreateDate=GetXmlData(rootObj,"CreateDate");obj.ShareStatus=GetXmlData(rootObj,"ShareStatus");obj.FromID=GetXmlData(rootObj,"FromID");obj.Title=GetXmlData(rootObj,"Title");obj.Logo=GetXmlData(rootObj,"Logo");obj.Content=GetXmlData(rootObj,"Content");obj.Comment=GetXmlData(rootObj,"Comment");obj.ViewCount=GetXmlData(rootObj,"ViewCount");obj.StartDate=GetXmlData(rootObj,"StartDate");obj.EndDate=GetXmlData(rootObj,"EndDate");obj.Status=GetXmlData(rootObj,"Status");obj.ModUser=GetXmlData(rootObj,"ModUser");obj.ModDate=GetXmlData(rootObj,"ModDate");obj.CreateUser=GetXmlData(rootObj,"CreateUser");obj.CategID=GetXmlData(rootObj,"CategID");}returnobj;};要是列表类型的就这样:varMapAnnounceExts=function(xmlDoc){varrs=newArray();vark=0;varrootObj=xmlDoc.responseXML.documentElement;if(rootObj!=null){varlist=rootObj.getElementsByTagName("AnnounceExt");if(list!=null&&list.length>0){for(vari=0;i<list.length;i++){if(list[i]!=null){varobj=newObject();obj.SiteCode=GetXmlData(list[i],"SiteCode");obj.SourceID=GetXmlData(list[i],"SourceID");obj.SourceType=GetXmlData(list[i],"SourceType");obj.SourceFlag=GetXmlData(list[i],"SourceFlag");obj.FromSiteCode=GetXmlData(list[i],"FromSiteCode");obj.FromSourceID=GetXmlData(list[i],"FromSourceID");obj.CreateDate=GetXmlData(list[i],"CreateDate");obj.ShareStatus=GetXmlData(list[i],"ShareStatus");obj.FromID=GetXmlData(list[i],"FromID");obj.Title=GetXmlData(list[i],"Title");obj.Logo=GetXmlData(list[i],"Logo");obj.Content=GetXmlData(list[i],"Content");obj.Comment=GetXmlData(list[i],"Comment");obj.ViewCount=GetXmlData(list[i],"ViewCount");obj.StartDate=GetXmlData(list[i],"StartDate");obj.EndDate=GetXmlData(list[i],"EndDate");obj.Status=GetXmlData(list[i],"Status");obj.ModUser=GetXmlData(list[i],"ModUser");obj.ModDate=GetXmlData(list[i],"ModDate");obj.CreateUser=GetXmlData(list[i],"CreateUser");obj.CategID=GetXmlData(list[i],"CategID");rs[k++]=obj;}}}}returnrs;};
解决方案五:
xml+xslt不用写代码,自动解析
解决方案六:
必须会写xslt,才能全面的解析xml文件,不用找什么捷径,xslt是最实用的方法。而且xslt也很容易。在vs2005和以上版本中有asp:xml控件,很好的展示由xslt解析的内容。