我有一个像这样的xml:
<item>
<name>chuck - norris</name>
</item>
我可以从那里获取全名,并将其添加到列表框中:
.......
.......
public class helperclass
{
string helper;
public string Helper
{
get {return helper; }
set {helper = value; }
}
}
.......
.......
//xml comes from internet
void something_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
XElement xml = XElement.Parse(e.Result);
var info = from somexml in xml.Descendants("item")
select new helperclass
{
Helper = (string)somexml.Element("name")
};
listBox1.ItemsSource = info;
.......
但是如何用换行替换“ - ”以便我可以得到:
卡盘
诺里斯
而不是:
查克 - 诺里斯以及如何获得名字?
答案 0 :(得分:2)
没有任何检查:
string[] segments = "Chuck - Norris".Split('-');
string firstName = segments[0].Trim();
string lastName = segments[1].Trim();
答案 1 :(得分:1)
使用Linq代替XML:
var listOfStringsYouWant = new List<string>();
var doc = XDocument.Load("placeXMLHere");
// finds every node of item
doc.Descendants("item").ToList()
.ForEach(item =>
{
listOfStringsYouWant.Add(item.Element("name").Value.Replace('-', '\r\n'));
});
答案 2 :(得分:0)
不确定这是否是您要找的。
String sArray = Helper.Split('-');
foreach (String str in sArray)
Console.Writeline(Str+"\n");
答案 3 :(得分:0)
如果你的换行符是一个文本框,你需要将它从“ - ”替换为“\ r \ n”。
如果是HTML元素,请使用“&lt; br /&gt;”替换“ - ”
如果你需要打破它们以便彼此认识,请使用.split
答案 4 :(得分:0)
示例代码:
namespace XMLParser
{
class Program
{
static void Main(string[] args)
{
XElement items = XElement.Load(@"C:\XMLParser\items.xml");
var filteredItems = from item in items.Descendants("item")
select item.Element("name");
foreach (var item in filteredItems)
{
// Replacing " - " with NewLine
Console.WriteLine(item.Value.Replace(" - ",
System.Environment.NewLine));
// Only First name
Console.WriteLine(item.Value.Split().First());
}
}
}
}