簡體   English   中英

在單個xml文件中寫入多個xml節點

[英]writting multiple xml nodes in a single xml file

我有使用LINQ to XML的代碼。 我希望每次都將XElement寫入一個新的XML文件,以便其中的所有XML都存儲在指定位置的XML文件中。

XElement xml = new XElement("contacts",
                    new XElement("contact", 
                        new XAttribute("contactId", "2"),
                        new XElement("firstName", "Barry"),
                        new XElement("lastName", "Gottshall")
                    ),
                    new XElement("contact", 
                        new XAttribute("contactId", "3"),
                        new XElement("firstName", "Armando"),
                        new XElement("lastName", "Valdes")
                    )
                );


Console.WriteLine(xml);

我wsh附加xml變量並添加更多節點,我嘗試了下面的代碼,但無法得到它,我希望寫一下我在EveryComment List中得到的xml

 XElement xml;
                    foreach (string Dcomment in EveryComment) 
                    {
                        string commentDetail = "http://www.edmunds.com" + Dcomment;
                        WebClient wc1 = new WebClient();
                        try { 
                            string comm = wc1.DownloadString(commentDetail);
                            string[] time_sep = { @"<time itemprop=""dtreviewed"" datetime=", "</time></div>" };
                            string[] car_split = {@"<span itemprop=""itemreviewed"">",@"</span><br/>        <div class=""header-5"">Review</div>"};
                            string[] name_comment_split = {@"<div class=""crr_by"">By <strong itemprop=""reviewer"">","</strong> on <time itemprop=",@"<div class=""header-5"">Review</div>        <span itemprop=""description"">",@"<div class=""header-5"">Favorite Features</div>" };
                            string[] get_name_comment = comm.Replace("\n", "").Replace("\t", "").Split(name_comment_split, StringSplitOptions.None);
                            string[] get_car_name = comm.Replace("\n","").Replace("\t","").Split(car_split, StringSplitOptions.None);
                            //CAR NAME AT 1 INDEX
                            string perfor,comfi,fuel,fun,interi,exteri,made,reliable;
                            string[] get_time = comm.Split(time_sep, StringSplitOptions.None);//TIME AT 1TH INDEX
                            comm = comm.Replace(@"""", "").Replace("\n"," ").Replace("\t"," ").Replace(" ","").Replace("\r","");
                            //HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                            //doc.LoadHtml(comm);
                            //var links = doc.DocumentNode.Name="span".Select(n => n.["href"].Value).ToArray();
                            string[] comm_split = { "Performance<hr/><spanclass=ratingtitle=", "Comfort<hr/><spanclass=ratingtitle=", "FuelEconomy<hr/><spanclass=ratingtitle=", "Fun-to-Drive<hr/><spanclass=ratingtitle=", "InteriorDesign<hr/><spanclass=ratingtitle=", "ExteriorDesign<hr/><spanclass=ratingtitle=", "BuildQuality<hr/><spanclass=ratingtitle=", "Reliability</div><spanclass=rating-bigtitle=","<divclass=header-5>FavoriteFeatures</div>", "<divclass=header-5>SuggestedImprovements</div>" };
                            string[] features = comm.Split(comm_split, StringSplitOptions.None);
                            if (features[1].ElementAt(1) == '.')
                            {

                                perfor = features[1].Substring(0, 3);
                            }
                            else
                                perfor = features[1].Substring(0, 1);
                            if (features[2].ElementAt(1) == '.')
                            {

                                comfi = features[2].Substring(0, 3);
                            }
                            else
                                comfi = features[2].Substring(0, 1);
                            if (features[3].ElementAt(1) == '.')
                            {

                                fuel = features[3].Substring(0, 3);
                            }
                            else
                                fuel = features[3].Substring(0, 1);
                            if (features[4].ElementAt(1) == '.')
                            {

                                fun = features[5].Substring(0, 3);
                            }
                            else
                                fun = features[5].Substring(0, 1);
                            if (features[6].ElementAt(1) == '.')
                            {

                                interi = features[6].Substring(0, 3);
                            }
                            else
                                interi = features[6].Substring(0, 1);

                            if (features[7].ElementAt(1) == '.')
                            {

                                exteri = features[7].Substring(0, 3);
                            }
                            else
                                exteri = features[7].Substring(0, 1);

                            if (features[8].ElementAt(1) == '.')
                            {

                                reliable = features[8].Substring(0, 3);
                            }
                            else
                                reliable = features[8].Substring(0, 1);


               xml = new XElement("DOC", 
                    new XAttribute("Relevance", c1.relevance),
                    new XElement("Date", get_time[1]),
                    new XElement("Author", get_name_comment[1]),
                    new XElement("Text", get_name_comment[3]),
                    new XElement("Favourite",features[9]),
                    new XElement("Peformance",perfor),
                    new XElement("Fuel",fuel),
                    new XElement("Fun",fun),
                    new XElement("Interior",interi),
                    new XElement("Exterior",exteri),
                    new XElement("Reliability",reliable)
                );
                       // xml = new XElement(get_car_name

                        }
                        catch (Exception ex) 
                        {
                        }
                    }
xml.Save(path);

或者是否有更微妙的涉及,這不是問題?

我是這樣做的每一個xelemnt我在循環結束時轉換為字符串並繼續匯總該字符串,循環后我在字符串編寫器中寫入.xml文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM