C#解析XML文件,有一个bug问题。

C#源工程代码下载

一段C#程序解析XML文件,之前一位回答者提供过一个解析的方法,
后来我自己仿照这个解析的方法,成功解析了XML文件中其他节点的内容,
并显示在datagridview控件中,但是在解析某一个节点的时候,对应到XML
文件中一个叫CompuMethods节点下的子节点内容,但是总是无法显示其中
的内容。自己看了一天了,没解决,求大神解决bug,下载上面的工程源码调试
如下图第一张和第二张,是成功解析XML节点内容,显示在datagridview控件中,
第三张图是没有显示节点内容的图,
第四张图是XML文件结构图

图片说明

图片说明

图片说明

图片说明

-1

1个回答

你的COMPU-INTERNAL-TO-PHYS节点下是COMPU-SCALES,但你在Children04里获取的是COMPU-INTERNAL-TO-PHYS下的节点数据,你的datagridview当然无法显示
COMPU-SCALES下COMPU-SCALE节点里的数据。图片说明,解决方法是你在你的Node类型添加一个Children05的属性,用于获取当前节点下所有子节点的数据,图片说明,然后调用的时候使用Children05来循环就可以获取相应数据图片说明

1
ccc9149
未知昵称 已采纳你的回答,谢谢。
大约一年之前 回复
ccc9149
未知昵称 好的,刚刚尝试了下,成功解决了,非常感谢你的回答。可以加下你的qq吗?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
一个解析XML文件的问题
程序如下,在 Java 1.5 环境下:rnrnimport java.io.*;rnrnimport java.io.*;rnimport org.xml.sax.*;rnimport org.w3c.dom.*;rnimport org.w3c.dom.Document;rnimport com.sun.org.apache.xerces.internal.impl.xs.dom.DOMParser;rnrnpublic class DomOutput rn private DOMParser parser = new DOMParser();rn private Document doc;rn rn public DomOutput() rn rn rn private void init() rn try rn parser.parse ( "first1.xml" );rn doc = parser.getDocument();rn rn catch ( IOException ex ) rn ex.printStackTrace();rn catch ( SAXException ex ) rn ex.printStackTrace();rn rn rnrn public static void main ( String[] args ) rn DomOutput domOutput = new DomOutput();rn domOutput.init();rn rnrnrn问题是:rnrn当 XML 文件为rnrnrnrn arnrnrn时,就出现错误,错误信息,[Error] first1.xml:3:12: s4s-elt-character: Non-whitespace characters are not allowed in schema elements other than 'xs:appinfo' and 'xs:documentation'. Saw 'a'.rnrn当 XML 文件为rnrnrnrn arnrnrn时,就正确。rnrn请问这是为什么?rnrnrn
一个解析xml文件遇到的问题
最近照例程写了个xml文件解析到的程序解析结果有异常,调试了很久也没调试出来。功能就是把个标签里面的内容输出。代码如下:[code=java]MyContentHandler.java:rnpackage com.example.xml;rnrnrnimport org.xml.sax.Attributes;rnimport org.xml.sax.SAXException;rnimport org.xml.sax.helpers.DefaultHandler;rnrnrnimport android.util.Log;rnrnrnpublic class MyContentHandler extends DefaultHandlerrnString tagName = null;rnString linearLayout,textView,button ;rnrn@Overridernpublic void characters(char[] ch, int start, int length)rnthrows SAXException rnrnrnif(tagName.equals("TextView"))rnrnrntextView = new String(ch,start,length);rnLog.d("yinan", textView);rnrnrnif(tagName.equals("Button"))rnrnrnbutton = new String(ch,start,length);rnLog.d("yinan", button);rnrnrnrnrnrn@Overridernpublic void endDocument() throws SAXException rnLog.d("yinan","end!");rnrnrnrn@Overridernpublic void endElement(String uri, String localName, String qName)rnthrows SAXException rnLog.d("yinan", "endElement:"+tagName);rnif(tagName.equals("Button"))rnrnrnthis.print();rnrnrnrnrnrn@Overridernpublic void startDocument() throws SAXException rnLog.d("yinan","start!");rnrnrnrn@Overridernpublic void startElement(String uri, String localName, String qName,rnAttributes attributes) throws SAXException rntagName = localName;rnLog.d("yinan", "start Element:"+tagName);rnrnrnpublic void print()rnLog.d("yinan","TextView:");rnLog.d("yinan",textView);rnLog.d("yinan","Button:");rnLog.d("yinan",button);rnrnrnrnrnrnrnrnXMLActivity.javarnpackage com.example.xml;rnrnrnimport java.io.BufferedReader;rnimport java.io.File;rnimport java.io.FileInputStream;rnimport java.io.IOException;rnimport java.io.InputStreamReader;rnimport java.io.StringReader;rnrnrnimport javax.xml.parsers.ParserConfigurationException;rnimport javax.xml.parsers.SAXParserFactory;rnrnrnimport org.xml.sax.InputSource;rnimport org.xml.sax.SAXException;rnimport org.xml.sax.XMLReader;rnrnrnimport android.app.Activity;rnimport android.os.Bundle;rnimport android.util.Log;rnimport android.view.Menu;rnimport android.view.View;rnimport android.view.View.OnClickListener;rnimport android.widget.Button;rnrnrnpublic class XMLActivity extends Activity rnButton button = null;rnrn@Overridernprotected void onCreate(Bundle savedInstanceState) rnsuper.onCreate(savedInstanceState);rnsetContentView(R.layout.activity_xml);rnbutton = (Button)findViewById(R.id.button);rnbutton.setOnClickListener(new ParseButtonListener());rnrnrnrnclass ParseButtonListener implements OnClickListenerrnrnrn@Overridernpublic void onClick(View arg0) rn//Log.d("yinan", "!!!!!!!!!!!!!!!!!!"); rntry rnString str = getXml("/sdcard/main.xml");rnrn//Log.d("yinan", "#############");rnrnSAXParserFactory factory = SAXParserFactory.newInstance();rnrntry rnXMLReader reader = factory.newSAXParser().getXMLReader();rnreader.setContentHandler(new MyContentHandler());rnreader.parse(new InputSource(new StringReader(str)));rn catch (SAXException e) rn// TODO Auto-generated catch blockrne.printStackTrace();rn catch (ParserConfigurationException e) rn// TODO Auto-generated catch blockrne.printStackTrace();rnrnrn catch (IOException e) rnrne.printStackTrace();rnrnrnrnrnrnrnpublic String getXml(String s) throws IOExceptionrnString str = null;rnStringBuffer sb = new StringBuffer();rnFile file = new File(s);rnif(!file.exists())rnLog.d("yinan", "file does not exist!!");rnFileInputStream input = new FileInputStream(file);rnBufferedReader br = new BufferedReader(new InputStreamReader(input));rnrnwhile((str = br.readLine()) != null)rnsb.append(str);rnrninput.close();rnbr.close();rnreturn sb.toString();rnrnrn@Overridernpublic boolean onCreateOptionsMenu(Menu menu) rn// Inflate the menu; this adds items to the action bar if it is present.rngetMenuInflater().inflate(R.menu.xml, menu);rnreturn true;rnrnrnrnrnrnrn[/code]rn被解析的xml文件如下:[code=html]rnrnandroid:layout_width="fill_parent" rn android:layout_height="wrap_content" rn android:text="@string/hello"rn rn rn rn android:id="@+id/parseButton"rn android:layout_width="fill_parent" rn android:layout_height="wrap_content" rn android:text="开始解析XML"rn rnrnrn[/code]rnrn输出结果:rn[img=https://img-bbs.csdn.net/upload/201411/14/1415974863_121880.jpg][/img]rn可以看出只是输出了一个标签的内容,而且重复检测到了Button结束标签。rn请热心贴吧友帮助~~~~
c#解析xml文件<--1-->
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
c#窗体解析xml文件
目的:窗体程序从外部导入xml文件,解析后显示在richtextbox里。rn 现在我只会显示代码,求问怎么解析?rnrn openFileDialog1.Filter = "xml files(*.xml)|*.xml";rn if (openFileDialog1.ShowDialog() == DialogResult.OK)rn rn richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.UnicodePlainText);rn
C#解析XML文件
XmlNodeReaderreader=null;try...{XmlDocumentxd=newXmlDocument();xd.Load(filename);reader=newXmlNodeReader(xd);//创建新的XMLreaderstringnodeType=null;while(reader.Read())...{switch(reader.NodeType)...{...
C# 解析简单的Xml文件
Xml解析方法: 1 public static Dictionaryint, Liststring>> ReadingXml(string xmlTxt,string FatherName) 2 { 4 XmlDocument xmlDoc = new XmlDocument(); 5 //加载xml文档 6
C# 解析Xml文件
private void LoadXMLDocument(string fileName, string xml) { XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettings setting = new XmlReaderSettings(); set
C# 解析XML文件
本文以解析全国省份、(市/区)、县为例(就是淘宝填写地址的选项) 我在这里使用 XmlDocument 通过 using System.Xml 命名空间 XmlDocument xml=new XmlDocument();//先实例化 XmlDocument xml.Load(path);//path可以为相对路径或者为绝对路径 XmlNodeList province=xml.Do...
c# 解析Xml文件
c# Xml解析类和应用   这是面向对象的课程设计作业,就是自己写xml解析类并且完成由xml文件向图形的转化。 这里用了两种方法,第一种是c#自己提供的xml解析函数,第二种是自己的xml解析函数。   xml解析函数(原创)   using System; using System.Collections.Generic; using System.Linq; using
C#解析xml文件??
如何用C#解析xml文件??用C#代码把同一项目下的release.xml中的数据给显示出来,如何实现啊rnxml文件如下: rnrn rn- rn- rn- rn CPU Performance rn- rn Name rn %Processor Time rn %Processor User Time rn %Processor System Time rn %Processor Interrupt Time rn Timestamp_PerfTime rn Timestamp_Sys100NS rn Frequency_PerfTime rn Frequency_Sys100NS rn rn- rn 0 rn 21440625000 rn 29062500 rn 301562500 rn 937500 rn 7798675505 rn 21786778000 rn 3579545 rn 10000000 rn rn- rn _Total rn 21440625000 rn 29062500 rn 301562500 rn 937500 rn 7798675505 rn 21786778000 rn 3579545 rn 10000000 rn rn rn rn
C# 递归解析xml文件
 第一次写解析xml文件算是顺利搞定,没想到后来陆续提出了更多的需求,主要是遇到以下几个问题:load整个文件。代码专用了。存在多个同名元素。                对于问题1,load整个文件这个问题。既然不能将上G的文件一次性load进内存,那就改用流读取(stream)的形式。在网上找到一个不错的读取函数,IEnumerable&amp;lt;XElement&amp;gt; StreamXElem...
C#解析xml文件。。。。。。。。。。。。。。。。。
返回的字符串是rnrnrnrn rn rn rn rnrnrnrn怎么获取nane的value值啊。。rnrn
C# xpath解析XML文件
先来看看解析xml文件的方法都有哪些吧,可以帮助大家对这个问题有个概要的了解。 在程序中访问并操作XML文件一般有两种模型:流模型和DOM(文档对象模型)。流模型中有两种变体——“推”模型和“拉”模型。   “推”模型也就是常说的SAX,SAX是一种靠事件驱动的模型。它每发现一个节点就用“推”模型引发一个事件,而我们必须编写这些事件的处理程序,很麻烦。 .NET中使用的是基于“拉”模型的实现
C#解析xml文件疑惑
[code=text]rnrnrn rn rn rn rnrn[/code]rnrn我对C#解析上面的xml节点有点疑惑,当我解析到index_list节点里面的item节点时,如果我事先不知道item里面有多少项,也不知道ves_name、depth、vs、vd等等这些key的名称,如果我要读取这些key的名称和它们对应的值,比如我要读取key=ves_name,val=LMCA,想这样一一对应的读出来,而且想知道item里面有多少项,C#代码要怎么做,请哪位朋友给个代码示范一下。谢谢!
帮忙解析一个XML文件。
有如下XML文件。如下通过简短高效的C#代码解析出下格式对应关系的文字:rnrnrntitle urlrn一、企业战略 unit1/index_content.htmlrn二、财务战略 unit2/index_content.htmlrnrnXML如下:rn[code=XML]rnrnrn rn rn rn 企业战略与财务战略rn rn 一、企业战略rn rn rn 二、财务战略rn rn rn rn rn rn rn ADL SCORMrn 1.2rn unit1/index_content.htmlrn rn rn rn rn rn rn ADL SCORMrn 1.2rn unit2/index_content.htmlrn rn rn rn rn rnrnrnrn[/code]rnrnrn
>>>怎么解析一个xml文件???<<<
要用哪些类?rn谁能给段代码,rn谢谢~~
python 解析一个xml文件
编写python程序,解析出test.xml文件中country节点name属性的值,组成列表,即结果返回:['Liechtenstein', 'Singapore', 'Panama']
解析和新建一个xml文件
package cn.xml.bean; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.X...
一个c#操作xml文件的问题
using System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Text;rnusing System.Xml;rnrnrnrnnamespace ConsoleApplication1rnrn class Programrn rn static void Main(string[] args)rn rn rn //XmlDocument doc = new XmlDocument();rn ////oc.LoadXml(myString);rn //doc.Load("D:\\Change.xml");//pathrn //ShowXmlInfo("", "");rn ShowXmlInfo("D:\\zhy\\xml\\change.xml", "zhy123");rn AddXmlInfo("D:\\zhy\\xml\\change", "user");rn ReviseXmlInfo("D:\\zhy\\xml\\change", "user");rn DeleteXmlInfo("D:\\zhy\\xml\\change", "user");rnrn rn ///rn ///查看XML内容rn ///rn ///XML文档路径rn ///查找的节点rn public static void ShowXmlInfo(string path, string Nodes)rn rn string myString ="D:\\zhy\\xml\\change.xml";rn XmlDocument doc = new XmlDocument();rn //doc.LoadXml(myString);rn doc.Load(myString);//pathrn XmlElement root = doc.DocumentElement;rn Console.WriteLine(root.SelectNodes("zhy123")[2].InnerText);//Nodesrn rn ///rn ///添加信息rn ///xml 文档路径 rn ///添加的父节点rn public static void AddXmlInfo(string path, string Nodes)rn rn XmlDocument doc = new XmlDocument();rn doc.Load("D:\\zhy\\xml\\change");//pathrn XmlNode root = doc.SelectSingleNode("bookstore");//Nodesrn XmlElement xel = doc.CreateElement("book");rn xel.SetAttribute("gener", "曾华毅");rn xel.SetAttribute("ISBN", "2-3631-4");rn XmlElement xesubl = doc.CreateElement("Title");rn xesubl.InnerText = "C#入门经典";rn xel.AppendChild(xesubl);rn XmlElement xesub2 = doc.CreateElement("author");rn xesubl.InnerText = "60";rn xesubl.AppendChild(xel);rn doc.Save("D:\\zhy\\xml\\change");rn rn ///rn ///修改信息rn ///rn ///路径rn ///节点rn public static void ReviseXmlInfo(string path, string Nodes)rn rn XmlDocument xmldoc = new XmlDocument();rn xmldoc.Load("D:\\zhy\\xml\\change");rn XmlNodeList nodelist = xmldoc.SelectSingleNode("bookstore").ChildNodes;rn foreach (XmlNode xn in nodelist)rn rn XmlElement xe = (XmlElement)xn;rn if (xe.GetAttribute("gener") == "上帝")rn rn XmlNodeList nls = xe.ChildNodes;rn foreach (XmlNode _xn in nls)rn rn XmlElement xe2 = (XmlElement)_xn;rn if (xe.Name == "author")rn rn xe2.InnerText = "nb";rn rn break;rn rn break;rn rn rn xmldoc.Save("D:\\zhy\\xml\\change");rn rn ///rn ///删除XML信息rn ///rn ///XML文档路径rn ///节点rn public static void DeleteXmlInfo(string path, string Nodes)rn rn //sqlcommand = new sqlcommand();rn XmlDocument xmldoc = new XmlDocument();rn xmldoc.Load("D:\\zhy\\xml\\change");rn XmlNodeList xnl = xmldoc.SelectSingleNode("bookstore").ChildNodes;rn foreach (XmlNode xn in xnl)rn rn XmlElement xe = (XmlElement)xn;rn if (xe.GetAttribute("gener") == "fantasy")rn rn xe.RemoveAttribute("gener");rn rn else if (xe.GetAttribute("gener") == "zenghuayi")rn rn xe.RemoveAll();rn rn rn xmldoc.Save("D:\\zhy\\xml\\change");rnrn rn rnrnrn上面是我的代码;rn下面是我的XML文件rnrnrnrnzhyrn123rnrnrn在debug到Console.WriteLine(root.SelectNodes("zhy123")[2].InnerText);//Nodesrn说是空引用.这是什么问题呀?rn还请指教
解析一个XML文件-Yahoo天气(xml文件有属性值)
<br />首先H文件:<br />NSMutableArray *rssList;<br /> <br />M文件,开始解析:<br />- (void)applicationDidFinishLaunching:(UIApplication *)application { // Add the tab bar controller's current view as a subview of the window [window addSubview:tabBarController.view
关于解析XML文件有无效字符的问题
代码如下:rn Dim domForm As New DOMDocument30rn Dim nodRoot As IXMLDOMNodern Dim nodForm As IXMLDOMNodern Dim nodChild As IXMLDOMNodern Dim atbRoot As IXMLDOMAttributern Dim piRoot As IXMLDOMProcessingInstructionrn Dim domOther As New DOMDocument30rn rn Dim strContent As Stringrn rn Set piRoot = domForm.createProcessingInstruction("xml", "version='1.0' encoding='GB2312'")rn domForm.appendChild piRootrn rn Set nodRoot = domForm.createNode(NODE_ELEMENT, "infoTree", "")rn rn Set atbRoot = domForm.createAttribute("action")rn atbRoot.Text = "responseData"rn nodRoot.Attributes.setNamedItem atbRootrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "user", "")rn nodChild.Text = strOperatorNamern nodRoot.appendChild nodChildrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "pwd", "")rn nodChild.Text = strPwdrn nodRoot.appendChild nodChildrn rn With udtAlarmrn Set nodForm = domForm.createNode(NODE_ELEMENT, "form", "")rn Set nodChild = domForm.createNode(NODE_ELEMENT, "form_type", "")rn nodChild.Text = "1"rn nodForm.appendChild nodChildrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "severity", "")rn nodChild.Text = .aShowfo.fldcClstypeInforn nodForm.appendChild nodChildrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "alarm_id", "")rn nodChild.Text = .lngNo1 & "_" & .lngNo2rn nodForm.appendChild nodChildrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "alarm_no", "")rn nodChild.Text = .aShowfo.fldcReportNorn nodForm.appendChild nodChildrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "occur_time", "")rn nodChild.Text = .aShowfo.flddOrgOccurTimern nodForm.appendChild nodChildrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "original", "")rn nodChild.Text = "网元名称:" & .aShowfo.fldcChinaObjName & vbCrLf & "告警产生时间:" _rn & .aShowfo.flddOrgOccurTime & vbCrLf & "告警号:" & .aShowfo.fldcReportNo _rn & vbCrLf & "告警原因:" & .aShowfo.FldcFaultCause & vbCrLf _rn & "告警原始信息:" & fun_GetOrgAlarmFromDb(.lngNo1, .lngNo2)rn nodForm.appendChild nodChildrn rn Set nodChild = domForm.createNode(NODE_ELEMENT, "source", "")rn nodChild.Text = .aShowfo.fldcChinaObjNamern nodForm.appendChild nodChildrn End Withrn rn nodRoot.appendChild nodFormrn rn domForm.appendChild nodRootrn rn domForm.Save App.Path & "\test.xml"rn rn domOther.Load App.Path & "\test.xml"rnrn执行玩最后一句后dom.parseError.reason为“文本内容中发现无效字符。”rnom.parseError.srcText为"告警原始信息:alarmNotif 0 DBDNGCIAECM1/SWSUBSYS_Container/CI communicationsAlarm 8769679 1 major connectionError 2003/09/26-10:19:15.0 "BADG3| |** | |CI304|SEP26|10:19:13|8925|TBL | Connection Error "rn可是这个文件用IE和XMLSPY程序都能解析正确。请问我该如何解决这个问题。不胜感激rn
请教:TXMLDocument解析,有时候xml文件有问题
请教各位高手一个问题:TXMLDocument解析,有时候xml文件有问题,这个时候就异常或者内存冲突,而捕捉不到是哪一行。大家有没有什么办法让操作者知道是哪行出问题了?
如何解析有EXCEL导出的XML文件
小弟如今遇到一难题:在EXCEL中做好的表格导出为XML文件后,如何解析XML文件,从而知道表格中的每个格子的位置!请各位大虾指导??
c# 利用泛型解析xml文件
利用泛型解析xml文件 自带xml文件
.net/c#如何解析.xml文件
RT,现在有一个XML文件,在后台该如何解析。本人对XML不太了解,希望在次得到帮助,先谢谢了。每个XML文件里面的内容都不一样,现在求一个公用的方法,xml文件标准如下:rn[code=XML]rnrnrn rn /* 病种(区别不出来病种和结论,则为空,只填结论) */rn /*多个疾病值*/rn rn rn rn /*医师结论*/rn /*多个结论*/rn rn rn rn /*医师建议*/rn /*多个建议*/rn rn rn rn 为空(预留)rn rnrn rn rn rnrn rn H==高,L=低,N=正常rn 11.1rn rn rn rn rn rn rn H==高,L=低,N=正常rn 11.1rn rn rn rn rn rn rn rn rn rn rn A=异常,N=正常rn rn 病种,未见异常rn 检查部位:胸部rn 影像所见rn 检查结论rn rn rn A=异常,N=正常rn rn 病种,未见异常rn 检查部位:腹部rn 影像所见rn 检查结论rn rn rnrn rn rn rn rn A=异常,N=正常rn 1.5rn 病种,未见异常rn 检查部位rn 影像所见rn 检查结论rn rn rn A=异常,N=正常rn 0.8rn 病种,未见异常rn 检查部位rn 影像所见rn 检查结论rn rn rnrn rn rnrn[/code]
C# 解析xml文件各个节点
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; using System.IO; namespace xml解析 { class Program { static void Main(string
使用c# attribute 解析XML文件
I am a white cat I am a black cat 以前在游戏中使用这个 XML 的时候都是手工解析的,伪代码如下。 XmlDocument doc = new XmlDocument(); doc.Load(xmlStr); XmlNodeList itemNodes = doc.SelectNodes("cats/item"
c# 如何解析XML文件到datagridview?
各位XDJM:我在用C#做系统集成时有一段XML语句,想把它们解析后在datagridview中显示,想请各位帮助一下。rnrnrnrnrnrnrnrn部门1rn测试2rnrn1rnrnrnrnrnrnrn部门2rn测试2rnrn2rnrnrnrn
求助:c#怎么解析xml文件
我需要做一个webservice供对方调用,对方传过来的参数是xml格式的,我该怎么解析,c#中有现成的函数吗?我网上找了几个,发现不能用,我的vs是2005版本的。xml格式如下rn0发送成功rn我需要把resultcode,resultcontent解析出来
C#通过XPath解析xml文件
xpath语法讲解:http://www.w3school.com.cn/xpath/xpath_syntax.asp用xpath解析xml的用例在这里:http://www.cnblogs.com/RiseSoft/archive/2012/03/17/2404007.htmlxpath里面涉及到的一些参数的方法名:http://blog.sina.com.cn/s/blog_7c99e6bf01
C# 加载Xml文件并解析
Xml文件内容大致如下: 首先新建一个wpf项目,随便往空白处添加一个按钮控件,然后在按钮的点击事件中做如下处理: 1 private void Load_Click(object sender, RoutedEventArgs e) 2 { 3 OpenFileDialog onepiece = new OpenFileDialog(...
C#解析Excel生的XML文件
目的:要将excel导出的XML文件,解析生成gridview中rnrn rn 标题rn rn rn 标题2rn 标题2rn 标题2rn 标题2rn 标题2rn rn rn 合计rn 标题2rn 标题2rn 小计rn 标题2rn 标题2rn rn rn 小计rn 标题2rn 标题2rn 标题2rn 标题2rn 标题2rn 标题2rn 标题2rn rn rn <[/color]Data ss:Type="String">填表: rn <[/color]Data ss:Type="String">审核:rn <[/color]Data ss:Type="String">审批:rn rn rn rn分析函数:rnprivate void initData()rn rn Table gvt = new Table();rn gv.Attributes.Add("ID", "gv");rn gv.Controls.Add(gvt);rn string sXml = this.Server.MapPath("XMLHeader/1.xml");rn if (!System.IO.File.Exists(sXml))rn return;rn System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();rn xmlDoc.Load(sXml);rn System.Xml.XmlNode node = xmlDoc.GetElementsByTagName("Worksheet").Item(0).ChildNodes[0];rn int iRows = node.ChildNodes.Count;rn for (int i = 0; i < iRows; i++)rn rn XmlNode xmlRow = node.ChildNodes[i];rn GridViewRow addHeaderRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);rn int iColumns = xmlRow.ChildNodes.Count;rn for (int j = 0; j < iColumns; j++)rn rn XmlNode xmlColumn = xmlRow.ChildNodes[j];rn string sText = "";rn sText = xmlColumn.InnerText;rn if (sText == "") sText = " ";rn int iRowSpan = 1;rn XmlAttribute xmlAttrRowSpan = xmlColumn.Attributes["ss:MergeDown"];rn if (xmlAttrRowSpan != null && !String.IsNullOrEmpty(xmlAttrRowSpan.Value))rn iRowSpan = Convert.ToInt32(xmlAttrRowSpan.Value)+1;rnrn int iColumnSpan = 1;rn XmlAttribute xmlAttrColumnSpan = xmlColumn.Attributes["ss:MergeAcross"];rn if (xmlAttrColumnSpan != null && !String.IsNullOrEmpty(xmlAttrColumnSpan.Value))rn iColumnSpan = Convert.ToInt32(xmlAttrColumnSpan.Value)+1;rnrn int iIndex = 0;rn XmlAttribute xmlAttrIndex = xmlColumn.Attributes["ss:Index"];rn if (xmlAttrIndex != null && !String.IsNullOrEmpty(xmlAttrIndex.Value))rn iIndex = Convert.ToInt32(xmlAttrIndex.Value);rn[color=#FF0000] 这里获得的了ss:Index但我一直没有下好怎么分析输出这个index的绝对定位,不知道excel本省是如何分析ss:Index这个标记的,请高手指点[/color]rn //if (iIndex != 0)rn //rn // int RowCellCount=addHeaderRow.Cells.Count;rn // for (int k = 0; k < iIndex - RowCellCount; k++)rn // rn // TableCell Cell = new TableCell();rn // Cell.Text = " ";rn // Cell.Wrap = false;rn // Cell.BorderColor = Color.Black;rn // Cell.HorizontalAlign = HorizontalAlign.Center;rn // addHeaderRow.Cells.Add(Cell);rn // rn // addHeaderRow.Cells[iIndex - 1].Text = sText;rn //rn //elsern //rn TableCell Cell = new TableCell();rn Cell.Text = sText;rn Cell.ColumnSpan = iColumnSpan;rn Cell.RowSpan = iRowSpan;rn Cell.Wrap = false;rn Cell.BorderColor = Color.Black;rn Cell.HorizontalAlign = HorizontalAlign.Center;rn addHeaderRow.Cells.Add(Cell);rn //rn rn this.gv.Controls[0].Controls.Add(addHeaderRow);rnrn rn-------------------------------------------------------------------------------------------------rn请注意红色部分,问题提问在上面,没有意义的跟帖,我不会给分的。请高手[color=#FF0000]详细[/color]说明思路
sed解析xml文件的问题
大家好,最近在做一个项目,想以最简单的方法解析一个XML文件,所以在别人的指导下写了一段代码。rn我的xml文件如下:rn[code=XML]rnrn rn rn rn rn lorn staticrn 127.0.0.1rn 255.0.0.0rn rn rn rn rn eth0rn bridgern staticrn 192.168.1.1rn 255.255.255.0rn rn rn rn rn staticrn 192.168.2.1rn 255.255.255.0rn rn rn rn rn rn rn atherosrn autorn 00:15:6d:fc:71:acrn 0rn rn rn rn rn radio0rn wifirn aprn OpenWrtrn nonern rn rn rn rn[/code]rnrn我需要解析这个XML文件,从而生成2个文件——network和wireless.内容如下,network:rn[code=XML]config interface loopbackrn option ifname lorn option proto staticrn option ipaddr 127.0.0.1rn option netmask 255.0.0.0rnrnconfig interface lanrn option ifname eth0rn option type bridgern option proto staticrn option ipaddr 192.168.1.1rn option netmask 255.255.255.0rnrnconfig interface wifirn option proto staticrn option ipaddr 192.168.2.1rn option netmask 255.255.255.0[/code]rnrn和wireless:rn[code=XML]config wifi-device radio0rn option type atherosrn option channel autorn option macaddr 00:15:6d:fc:71:acrnrn # REMOVE THIS LINE TO ENABLE WIFI:rn option disabled 0rnrnconfig wifi-ifacern option device radio0rn option network wifirn option mode aprn option ssid OpenWrtrn option encryption none[/code]rnrn所以在指导下我用写了sed写了如下内容:rn创建XML_net.shrn[code=VBScript]#!/usr/bin/kshrnsed -n -e '\@@,\@@p' -e '\@@q' XML_file > XML.netrnsed -f XML_net_sed XML.net[/code]rnrn创建XML_net_sed文件:rn[code=VBScript] rns###rn/^ *$/drn\@@drn\@@drns// /rn/config/!s/\([a-z]\)/option \1/[/code]rnrn然后运行XML_net.shrnrn但是无法运行,显示:rn rnroot@roxpro-laptop:/home/roxpro/桌面# XML_net.sh conf.xml rnXML_net.sh:找不到命令rnrn请问哪里出错了?怎么解决,谢谢!rnrn
Android 个人学习笔记之---SAX解析XML文件(有一个坑爹的问题)
Android 个人学习笔记之---SAX解析XML文件(有一个坑爹的问题)
解析xml文件问题
我调用webservice,传回来的是一个字符串,但这个字符串的内容是xml文件那种格式。rn比如:传回来的字符串rnrn........rn rn Hellorn 20rn rn........rnrn字符串的内容就是xml文件信息,只不过使用字符串表示出来了xml文件里面的内容,rn我使用SAX来解析实际的xml是可以的,但就不知道怎么解析这种字符串了,大家有好的rn办法吗?我先用字符串生成实际的xml文件,然后再解析实际的xml文件?还是怎么弄啊?rn纠结啊。。。。。。
解析XML文件时的问题
各位仁兄,帮帮忙,我现在要对一个xml文件进行解析,将所有的结点信息保存到一个list中,但我写的代码好像有点问题,递归的时候没有把所有结点信息都传给list,哪位帮忙一下,上面还等着我交任务呢rnrn[code=Java]package com.ibm.filenet.edu;rnimport java.io.IOException;rnimport java.util.ArrayList;rnimport java.util.Iterator;rnimport java.util.List;rnrnimport javax.xml.parsers.*;rnrnrnimport org.w3c.dom.*;rnimport org.xml.sax.SAXException;rnrnpublic class ParseXML rn public static void main(String[] args) rn List list = new ArrayList(); rn ParseXML instance = new ParseXML();rn String filePath = "C:\\Source\\xml file\\xml\\XML ppt\\xml day4\\dom_ sax\\dom\\student.xml"; rn list = instance.parse(filePath);rn Iterator iterator = list.iterator();rn //System.out.println("**************************");rn //while(iterator.hasNext())rn //System.out.println(iterator.next().toString());rn //rn rn rn rn rn public List parse(String filePath)rn List list = null;rn try rn DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();rn DocumentBuilder db = dbf.newDocumentBuilder();rn //File file = new File("C:\\Source\\xml file\\xml\\XML ppt\\xml day4\\dom_ sax\\sax\\candidate.xml");rn Document dom = db.parse(filePath);rn System.out.println("file path: " + dom.getDocumentURI());rn Element root = dom.getDocumentElement(); //root nodern list = Iterator(root);rn System.out.println("********************");rn Iterator iterator = list.iterator();rn while(iterator.hasNext())rn System.out.println(iterator.next().toString());rn rn //return list;rn catch (ParserConfigurationException e) rn e.printStackTrace();rn catch (SAXException e) rn e.printStackTrace();rn catch (IOException e) rn e.printStackTrace();rn rn return list;rn rn rn /**rn * rn * rn * rn * rn */rn public List Iterator(Element root) rn NodeList nodelist = root.getChildNodes();rn List list = new ArrayList();rn for (int i = 0; i < nodelist.getLength(); i++) rn Node node = nodelist.item(i);rn rn //下面这两个if块中有问题 rn if (node instanceof Text) rn String value = node.getNodeValue();rn //list.add(value);rn if (value != null && !value.trim().equals("")) rn System.out.println("content: " + value);rn list.add( value);rn rn rn if (node instanceof Element) rn System.out.println("node: " + node.getNodeName());rn Iterator((Element) node);rn list.add( node.getNodeName());rn rn rn //System.out.println("Iterator method success.");rn return list;rn rnrn[/code]
解析xml文件的问题
xml文件中有很多的节点,因为这些节点有并列,嵌套关系。rnrn我想把xml文件中某一个特定的节点的解析出来,并保持它们的嵌套关系。放到treectrl中显示。rnrn大家有什么好的 思路没有?
解析xml文件的郁闷问题
这是我的xml文件内容rnrnrn rn rn /score/vermanrn /home/brn /home/crn /home/drn /home/ern rn rn /home/arn /home/brn /home/crn /home/drn /home/ern rn rn /home/arn /home/brn /home/crn /home/drn /home/ern rn rn aaaaaaaaaarn /home/crn /home/drn /home/ern rnrnrn这是我的解析程序rn#include rn#include rn#include "verman.h"rnrnvoid parseDb(xmlDocPtr doc, xmlNodePtr cur) rn xmlChar *key;rn cur = cur->xmlChildrenNode;rn while (cur != NULL) rn printf("%s\n",cur->name);rn if ((!xmlStrcmp(cur->name, (const xmlChar *)"url"))) rn key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);rn sprintf(dbcfgPnt->url,key,sizeof(key));rn printf("urlfffffff: %s\n", key);rn xmlFree(key);rn else if((!xmlStrcmp(cur->name, (const xmlChar *)"username")))rn key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);rn sprintf(dbcfgPnt->username,key,sizeof(key));rn printf("url: %s\n", key);rn xmlFree(key);rn else if((!xmlStrcmp(cur->name, (const xmlChar *)"password")))rn key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);rn sprintf(dbcfgPnt->password,key,sizeof(key));rn printf("url: %s\n", key);rn xmlFree(key);rn else if((!xmlStrcmp(cur->name, (const xmlChar *)"name")))rn key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);rn sprintf(dbcfgPnt->name,key,sizeof(key));rn printf("url: %s\n", key);rn xmlFree(key);rn elsern printf("数据库配置没有成功!\n");rn exit(1);rn rn cur = cur->next;rn rn return;rnrnvoid parseSys(xmlDocPtr doc, xmlNodePtr cur,char* sysname) rn xmlChar *key;rn cur = cur->xmlChildrenNode;rn char pathstr[1024];rn while (cur != NULL) rn if ((!xmlStrcmp(cur->name, (const xmlChar *)"watch-path"))) rn memset(pathstr,0x0,sizeof(pathstr));rn key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);rn /*pathstr=(char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);*/rn sprintf(pathstr,"%s",key);rn printf("path: %s\n", pathstr);rn xmlFree(key);rn opath("a",sysname,pathstr);rn rn cur = cur->next;rn rn return;rnrnstatic void parseDoc(char *docname) rn xmlDocPtr doc;rn xmlNodePtr cur;rn doc = xmlParseFile(docname);rn if (doc == NULL ) rn fprintf(stderr,"Document not parsed successfully. \n");rn return;rn rn cur = xmlDocGetRootElement(doc);rn if (cur == NULL) rn fprintf(stderr,"empty document\n");rn xmlFreeDoc(doc);rn return;rn rn if (xmlStrcmp(cur->name, (const xmlChar *) "sitech-version-manager")) rn fprintf(stderr,"document of the wrong type, root node != story");rn xmlFreeDoc(doc);rn return;rn rn cur = cur->xmlChildrenNode;rn xmlChar *uri;rn char sysname[1024];rn while (cur != NULL) rn if ((!xmlStrcmp(cur->name, (const xmlChar *)"system")))rn memset(sysname,0x0,sizeof(sysname));rn uri = xmlGetProp(cur, "name");rn sprintf(sysname,"%s",uri);rn printf("name: %s\n", uri);rn xmlFree(uri);rn parseSys(doc, cur,sysname);rn else if((!xmlStrcmp(cur->name, (const xmlChar *)"dbcfg")))rn parseDb(doc, cur);rn rn cur = cur->next;rn rn xmlFreeDoc(doc);rn return;rnrnint main(int argc, char **argv) rn dbcfg dbcfg1; rn dbcfgPnt=&dbcfg1;rn memset(dbcfgPnt,0x0,sizeof(dbcfgPnt));rn char *docname;rn docname=getenv("VERMANPATH");rn if(docname==NULL)rn printf("请配置环境变量\"VERMANPATH\"!\n");rn exit(1);rn rn printf("配置文件路径:%s\n",docname);rn parseDoc (docname);rn free(docname);rnrnrnrn问题: 关于dbcfg下面的所有东西都解析不出来rn
个人学习笔记之-SAX解析XML文件(有一个坑爹的问题)
今天晚上我学习了下XML的解析,解析XML方法有SAX和DOM解析和Pull解析,今天先学习了下SAX,每天8点下班,下班回来还要自己做饭,所以每天我都要奋斗到1点左右,然后早上8点起来做饭带到公司去吃,刚毕业的程序猿很苦逼吧,不过不要紧,我相信通过我的努力,这一切都会改变,fighting...哈哈,废话不多说了,看项目吧 如果要用SAX来解析xml文档,则需要一个类来继承android系统提...
JSP解析XML文件问题
现在我要向一个 http://。。。。。。。。 的地址发出一个请求,这个请求会返回给我一个XML格式的文件,请问我应该怎么接受这个文件并解析它,我需要将解析出来的数据存入数据库中!!!!请问我应该用何钟技术实现???
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo