Tag: xmldocument

循环遍历XML文档

我的XML文件结构如下所示: George Dsouza 320000 22 Jackie Parera 300000 19 … 我想使用XmlDocument将所有数据作为雇员记录放入数据库。 所以我写了一个这样的循环: XmlDocument xdcDocument = new XmlDocument(); xdcDocument.Load(@”D:\SalaryDetails.xml”); XmlElement xelRoot = xdcDocument.DocumentElement; XmlNodeList xnlNodes = xelRoot.SelectNodes(“/SalaryDetails/Employee”); foreach(XmlNode xndNode in xnlNodes) { //What to write here?? //My sql insert command will go here } AnnualSalary和DaysWorked是整数。

使用xmldocument读取xml

4/12/13 Mrinal xmlTest 我正在尝试使用c#读取上面的xml,但是我在try catch块中得到nullexception可以任何正文建议所需的更改。 static void Main(string[] args) { XmlDocument xd = new XmlDocument(); xd.Load(“C:/Users/mkumar/Documents/testcase.xml”); XmlNodeList nodelist = xd.SelectNodes(“/testcase”); // get all nodes foreach (XmlNode node in nodelist) // for each node { CommonLib.TestCase tc = new CommonLib.TestCase(); try { tc.name = node.Attributes.GetNamedItem(“date”).Value; tc.date = node.Attributes.GetNamedItem(“name”).Value; tc.sub = node.Attributes.GetNamedItem(“subject”).Value; } catch (Exception e) { […]

如何将文件夹中的所有Xml文件加载到XmlDocument

使用下面的代码,我可以在XmlDocument xWorkload中加载一个Xml文件。 XmlDocument xWorkload = new XmlDocument(); private void button1_Click(object sender, RoutedEventArgs e) { var outputxml = new StringBuilder(string.Empty); Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); dlg.FileName = “demo”; // Default file name dlg.DefaultExt = “.xml”; // Default file extension dlg.Filter = “Xml documents (.xml)|*.xml”; // Filter files by extension var result = dlg.ShowDialog(); //Opens the dialog […]

拆分XML文档,从重复元素创建多个输出文件

我需要获取一个XML文件,并从输入文件的重复节点创建多个输出xml文件。 源文件“AnimalBatch.xml”如下所示: One Red Rooster Two Stubborn Donkeys Three Blind Mice 程序需要拆分重复的“Animal”并生成3个名为Animal_1001.xml,Animal_1002.xml和Animal_1003.xml的文件。 每个输出文件应该只包含它们各自的元素(它们是根)。 来自AnimalsBatch.xml的id属性将提供Animal_xxxx.xml文件名的序列号。 id属性不需要在输出文件中。 Animal_1001.xml: One Red Rooster Animal_1002.xml Two Stubborn Donkeys Animal_1003.xml> Three Blind Mice 我想用XmlDocument来做这件事,因为它需要能够在.Net 2.0上运行。 我的程序看起来像这样: static void Main(string[] args) { string strFileName; string strSeq; XmlDocument doc = new XmlDocument(); doc.Load(“D:\\Rick\\Computer\\XML\\AnimalBatch.xml”); XmlNodeList nl = doc.DocumentElement.SelectNodes(“Animal”); foreach (XmlNode n in nl) { […]

阅读Stack Overflow RSS feed

我正在尝试从Feed中获取未回答的问题列表,但我无法阅读它。 const string RECENT_QUESTIONS = “https://stackoverflow.com/feeds”; XmlTextReader reader; XmlDocument doc; // Load the feed in reader = new XmlTextReader(RECENT_QUESTIONS); //reader.MoveToContent(); // Add the feed to the document doc = new XmlDocument(); doc.Load(reader); // Get the element XmlNodeList feed = doc.GetElementsByTagName(“feed”); // Loop through each item under feed and add to entries IEnumerator ienum = feed.GetEnumerator(); […]

哪个是性能最佳的:XPathNavigator与XPath vs Linq到Xml查询?

我有一个应用程序,我使用XPathNavigator迭代节点。 它工作正常。 但我想知道如果我使用LINQ to Xml …. 我会得到什么好处(性能,可维护性)? 有了XPath,LINQ to Xml的性能如何? 我正在使用C#.net,VS 2010,我的.xml是中等大小。

有没有办法管理不规则XML文档的更改,就像使用DataTable一样?

我正在寻找一种方法来导入和导出XML数据文档的更改列表(不规则的结构;不自然地适合DataSet)。 如果我有一个常规结构,我将使用DataTable,我可以评估哪些记录已被编辑,然后提交或取消更改,我还可以传输所需更改的数据包。 如何使用XML数据执行此操作? 如果没有一个好的答案我认为我最好的选择是使用DataTable和方案[XPath,Value],尽管存储效率低,导航困难。 我希望对文档进行更改(使用XPath或LINQ或数据绑定控件或其他),然后记住更改并仅通过TCP发送更改。 然后我想收到另一个更改列表并将其应用于XML文档。 我不想发送整个文档的大小,因为我需要知道并评估发送的更改。 (只是为了澄清:我的程序需要发送和接收文档更改。管道的另一端不是基于.net,并不是这个问题的一部分。)

在XmlDocument中按名称搜索节点

我正在尝试使用以下代码在XmlDocument中按名称查找节点: private XmlNode FindNode(XmlNodeList list, string nodeName) { if (list.Count > 0) { foreach (XmlNode node in list) { if (node.Name.Equals(nodeName)) return node; if (node.HasChildNodes) FindNode(node.ChildNodes, nodeName); } } return null; } 我用以下函数调用该函数: FindNode(xmlDocument.ChildNodes, “somestring”); 由于某种原因,它总是返回null,我不确定为什么。 有人可以帮我解决这个问题吗?

没有以格式化forms获得Xml部分?

我正在尝试创建一个格式完美的xml文件。 它包含了稍后元素被替换的东西。 输出格式不完美。 xEvent包含整个xml模板表单,如string 这是大部分相关代码 string c2 = “]]>”; string c = “<![CDATA[“; XmlDocument xml2 = new XmlDocument(); xml2.LoadXml(xEvent); foreach (XmlNode itemNode in xml2.DocumentElement.ChildNodes) { XmlElement xmlElement = (XmlElement)itemNode; if (itemNode.ChildNodes.Count == 0) { } else { foreach (XmlNode childNode in itemNode.ChildNodes) { if (childNode.Name == “Options”) { foreach (XmlNode item in childNode.ChildNodes) { if […]

序列化XmlDocument并通过HTTPWebRequest发送

我正在试图弄清楚如何正确序列化我的XmlDocument并通过HTTPWebRequest对象发送它。 这是我到目前为止所拥有的: Stream requestStream; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(“https://wwwcie.ups.com/ups.app/xml/Track”); request.Method = “POST”; request.ContentType = “application/x-www-form-urlencoded”; request.ContentLength = postData.Length; requestStream = request.GetRequestStream(); XmlSerializerNamespaces xsm = new XmlSerializerNamespaces(); xsm.Add(“”, “”); // remove namespace XmlSerializer ser = new XmlSerializer(xmlRequest.GetType()); ser.Serialize(requestStream, xmlRequest); requestStream.Write(postData, 0, postData.Length); requestStream.Close(); 我不确定的一些事情。 我需要在同一个HTTPWebRequest中发送2个XmlDocuments。 我之前尝试过将XmlDocuments转换为字符串并将它们连接起来(发送字符串)但是当我使用StringBuilder / Writer时它会添加: 我已经在我的XmlDocument对象中有声明,所以现在它在那里两次,我不能在那里有<string…部分。 是否更容易将XmlDocuments转换为字符串然后连接它们并发送它或是否有一种简单的方式来发送XmlDocuments? 编辑: 请参阅C#XmlDocument节点当我尝试将我的一个XmlDocuments转换为字符串时,它显示为 whatever 123 我希望我的root是