問題更新:澄清,抱歉,如果我的問題不明確。我如何在c中做到這一點#
我們走吧。什麼即時試圖做的,是在這個例子中,我需要與屬性斜體變化加重名i tag
名, 和對textbreak基於其屬性更改標記名稱的spefic標籤,並刪除屬性
=」不」 p tag
這是我如何填充我的ListView
//add data to listview
this.lvContent.Items.Add(new MyItem { Tag = "Emphasis", Attribute = "Type", Value = "Italic", NewTag = "i" });
this.lvContent.Items.Add(new MyItem { Tag = "Para", Attribute = "TextBreak", Value = "No", NewTag = "p" });
foreach (MyItem item in lvContent.Items)
{
XElement rootI = XElement.Parse(txtInput.Text);
IEnumerable<XElement> Emphasis =
from el in rootI.Descendants("" + item.Tag + "")
where (string)el.Attribute("" + item.Attribute + "") == "" + item.Value + ""
select el;
foreach (XElement el in Emphasis)
{
el.Name = "" + item.NewTag + "";
}
XElement xdoc = XElement.Parse(rootI.ToString());
var elementsToRemove = from elemet in xdoc.Descendants(item.NewTag)
where elemet.Attribute(item.Attribute).Value == item.Value
select elemet;
foreach (var ee in elementsToRemove)
{
if (ee.Attribute(item.Attribute).Value == item.Value)
{
ee.RemoveAttributes();
}
}
Console.WriteLine(xdoc.ToString());
}
程序
<Abstract>
<Heading>Abstract</Heading>
<Para TextBreak="No">Some paragraph <i>q</i></Para>
</Abstract>
<Abstract>
<Heading>Abstract</Heading>
<p>Some paragraph <Emphasis Type="Italic">q</Emphasis></p>
</Abstract>
的輸出
,這是正確的輸出
<Abstract>
<Heading>Abstract</Heading>
<p>Some paragraph <i>q</i></p>
</Abstract>
的原因IM問第一個循環到下一個循環來pass the output
是如何
被用作INPUT
下一個循環是因爲輸出的。
我希望我的問題現在已經清楚。
你的意思是*數據是第一個循環的輸出嗎?每次迭代究竟想做什麼?至少寫出預期的輸出。 – user3185569
你想達到什麼目的? –
真的不清楚你的具體問題是什麼。從文本框讀取數據?寫入文本框? – Filburt