读取asp.net中的xml节点 [英] read a xml node in asp.net
本文介绍了读取asp.net中的xml节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何才能将xml子节点的名称检索到数组列表中.我有一个数组列表,如:
how can i retrieve a name of a xml child node into array list. i have a array list like:
<items>
<item1 id="1"> Text </item1>
<item2 id="2"> Text </item2>
</items>
我希望ArrayList仅包含子节点名称,例如:item1,item2.请帮助我..
I want ArrayList contain only child node name like: item1, item2. please help me in this..
推荐答案
您可以使用XMLDocument或XMLReader类,让我们看一下XMLDocuemnt的示例
you can use XMLDocument or XMLReader class, let see the example of XMLDocuemnt
Arraylist ArrList = new Arraylist();
System.XML.XMLDocument objDom = new System.XML.XMLDocument();
objDom.load(//xml file path);
xmlNodeList XNList = objDom.getElementByTagName("items");
for each (xmlNode XN in XNList)
{
for(int i=0; i< XN.childNodes.count; i++)
{
ArrayList.Add(XN.childNodes[i].Name);
}
}
字符串strCategoryId;
XmlDocument oXMLDoc = null;
XmlNodeList oXMLNodeList;
试试
{
//..这是您的连接方法,Admin是在其中定义方法的类Name
oXMLDoc = oAdmin.GetPartyDetails();
oXMLNodeList = oXMLDoc.GetElementsByTagName("ABC");
如果((oXMLDoc.ChildNodes.Count> = 1)&&(oXMLNodeList.Count> 0))
{
cboParty.Items.Add(new ListItem(-选择类别-","0"));
for(int intLoop = 0; intLoop< = oXMLNodeList.Count-1; intLoop ++)
{
strCategoryId = oXMLDoc.GetElementsByTagName("ABC").Item(intLoop).InnerText;
cboParty.Items.Add(new ListItem(strCategoryId));
}
}
其他
{
ABC.Items.Add(new ListItem(无类别,请添加."));
}
string strCategoryId;
XmlDocument oXMLDoc = null;
XmlNodeList oXMLNodeList;
try
{
//..this is your connection method, Admin is class Name in which method is define
oXMLDoc = oAdmin.GetPartyDetails();
oXMLNodeList = oXMLDoc.GetElementsByTagName("ABC");
if ((oXMLDoc.ChildNodes.Count >= 1) && (oXMLNodeList.Count > 0))
{
cboParty.Items.Add(new ListItem("-- Select Category --", "0"));
for (int intLoop = 0; intLoop <= oXMLNodeList.Count - 1; intLoop++)
{
strCategoryId = oXMLDoc.GetElementsByTagName("ABC").Item(intLoop).InnerText;
cboParty.Items.Add(new ListItem(strCategoryId));
}
}
else
{
ABC.Items.Add(new ListItem("No Category, Please add."));
}
通过c#asp .net创建,读取和写入xml文件
//default.cs文件
create, read and write xml file through c# asp .net
//default.cs file
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Xml;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Xml_Insert();
Xml_update();
}
}
public void Xml_Insert()
{
XmlDocument xmlDoc = new XmlDocument();
// Write down the XML declaration
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
// Create the root element
XmlElement rootNode = xmlDoc.CreateElement("CategoryList");
xmlDoc.InsertBefore(xmlDeclaration, xmlDoc.DocumentElement);
xmlDoc.AppendChild(rootNode);
// Create a new <Category> element and add it to the root node
XmlElement parentNode = xmlDoc.CreateElement("Category");
// Set attribute name and value!
parentNode.SetAttribute("ID", "01");
xmlDoc.DocumentElement.PrependChild(parentNode);
// Create the required nodes
XmlElement mainNode = xmlDoc.CreateElement("MainCategory");
XmlElement descNode = xmlDoc.CreateElement("Description");
XmlElement activeNode = xmlDoc.CreateElement("Active");
// retrieve the text
XmlText categoryText = xmlDoc.CreateTextNode("XML");
XmlText descText = xmlDoc.CreateTextNode("This is a list my XML articles.");
XmlText activeText = xmlDoc.CreateTextNode("true");
// append the nodes to the parentNode without the value
parentNode.AppendChild(mainNode);
parentNode.AppendChild(descNode);
parentNode.AppendChild(activeNode);
// save the value of the fields into the nodes
mainNode.AppendChild(categoryText);
descNode.AppendChild(descText);
activeNode.AppendChild(activeText);
// Save to the XML file
xmlDoc.Save(Server.MapPath("categories.xml"));
Response.Write("XML file created");
}
public void Xml_update()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("categories.xml"));
XmlNodeList nodeList = xmlDoc.SelectNodes("/CategoryList/Category[@ID=''01'']");
nodeList[0].ChildNodes[0].InnerText = "Deepak";
nodeList[0].ChildNodes[1].InnerText = "Pooja";
nodeList[0].ChildNodes[2].InnerText = "Ashok";
// Don''t forget to save the file
xmlDoc.Save(Server.MapPath("categories.xml"));
Response.Write("XML File updated!");
}
}
//default.aspx
//default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
//xml文件
// xml file
<?xml version="1.0" encoding="utf-8"?>
<CategoryList>
<Category ID="01">
<MainCategory>Deepak</MainCategory>
<Description>Pooja</Description>
<Active>Ashok</Active>
</Category>
</CategoryList>
这篇关于读取asp.net中的xml节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文