/// <summary> /// 获取XML /// </summary> /// <param name="xmlFile"></param> /// <returns></returns> // xmlFile = HttpContext.Server.MapPath("~/Student.xml") public string GetXml(string xmlFile) { string id = ""; string Info = ""; if (XmlDoc == null) { lock (DocLock) { if (XmlDoc == null) { XmlDoc = new XmlDocument(); XmlDoc.Load(xmlFile); } } } string Name = string.Empty; string _id = string.Empty; XmlElement root = XmlDoc.DocumentElement; XmlNodeList personNodes = root.GetElementsByTagName("person"); foreach (XmlNode node in personNodes) { if (((XmlElement)node).GetAttribute("id") == "2" || ((XmlElement)node).GetAttribute("id") == "4") { Name += ((XmlElement)node).InnerText; _id += ((XmlElement)node).GetAttribute("id"); var str = node.GetEnumerator(); } } XmlNodeReader ParaReader = new XmlNodeReader(XmlDoc); while (ParaReader.Read()) { if (ParaReader.NodeType == XmlNodeType.Element && ParaReader.Name == "person") { if (!string.IsNullOrEmpty(ParaReader.GetAttribute("id"))) { id += ParaReader.GetAttribute("id") + "+"; Info += ParaReader.ReadInnerXml() + "+"; } //if (f == "PaymentDate" && f == ParaReader.GetAttribute(0)) Info = ParaReader.GetAttribute(1);//Info = ParaReader.GetAttribute(1).Replace("{2}", Member.ValidBeginDate + "");//缴费 //if (f == "ReplacementDate" && f == ParaReader.GetAttribute(0)) Info = ParaReader.GetAttribute("value");//Info = ParaReader.GetAttribute("value").Replace("{2}", Member.ValidBeginDate + "").Replace("{3}", Member.ReplacementDate + ""); //换证 //if (f == "ContributionsDate" && f == ParaReader.GetAttribute(0)) Info = ParaReader.GetAttribute("value"); //体检 } string str = ParaReader.GetAttribute("id") + ParaReader.GetAttribute("sex") + ParaReader.ReadInnerXml(); } ParaReader.Close(); return System.Text.Encoding.GetEncoding("gb2312").GetString(System.Text.Encoding.Default.GetBytes(id + "\n" + Info)); }
public void ReadInnerXmlWrongInit () { document.LoadXml ("<root>test of <b>mixed</b> string.</root>"); XmlNodeReader nrdr = new XmlNodeReader (document); nrdr.ReadInnerXml (); Assert.AreEqual (ReadState.Initial, nrdr.ReadState, "initial.ReadState"); Assert.AreEqual (false, nrdr.EOF, "initial.EOF"); Assert.AreEqual (XmlNodeType.None, nrdr.NodeType, "initial.NodeType"); }
static void Main(string[] args) { var artists = new List<string>(); var albums = new List<string>(); var catalogFilePath = "../../../../catalog.xml"; XmlDocument doc = new XmlDocument(); doc.Load(catalogFilePath); using (XmlNodeReader reader = new XmlNodeReader(doc)) { reader.MoveToContent(); reader.ReadToDescendant("album"); while (reader.Read()) { var albumName = reader.ReadInnerXml(); albums.Add(albumName); var artist = reader.ReadInnerXml(); artists.Add(artist); reader.ReadToFollowing("album"); } } string albumFilePath = "../../album.xml"; Encoding encoding = Encoding.GetEncoding("windows-1251"); using (XmlTextWriter writer = new XmlTextWriter(albumFilePath, encoding)) { writer.Formatting = Formatting.Indented; writer.IndentChar = '\t'; writer.Indentation = 1; writer.WriteStartDocument(); writer.WriteStartElement("albums"); for (int i = 0, len = artists.Count; i < len; i++) { WriteAlbum(writer, albums[i], artists[i]); } writer.WriteEndDocument(); } Console.WriteLine("Document {0} created.", albumFilePath); }