我有使用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)
{
}
}
答案 0 :(得分:2)
xml.Save(path);
或者是否有更微妙的参与,这不是问题?
答案 1 :(得分:0)