我的恩惠是
int random = 3;
string xml = "<Numbers> <Num>1</Num> <Num>2</Num> <Num>3</Num> <Num>4</Num><Num>5</Num> </Numbers>";
我想遍历此字符串并查找random是否是<Num></Num>
之间的数字。有没有办法在C#Visual Studio中执行此操作?
答案 0 :(得分:0)
有很多方法可以做到,最简单的可能就是使用IndexOf
:
if(xml.IndexOf("<Num>"+ random.ToString() + "</Num>") > -1)
{
// found it!
}
答案 1 :(得分:0)
将您的XML解析为XElement
并将数字查询到列表:
var numList = XElement.Parse(xml)
.Elements("Num")
.Select(x => (int) x)
.ToList();
然后检查您的random
号码是否在该列表中:
numList.Contains(random);
请参阅this fiddle了解演示。
答案 2 :(得分:0)
使用XDocument,您可以轻松查询并检查XML中是否存在数字。
// XML content
string xml = "<Numbers>" +
"<Num>1</Num>" +
"<Num>2</Num>" +
"<Num>3</Num>" +
"<Num>4</Num>" +
"<Num>5</Num>" +
"</Numbers>";
将字符串加载到XDocument中。如果您从文件中读取而是使用XDocument.Load(pathname)
。
var doc = XDocument.Parse(xml);
检查随机数是否存在。
从Numbers
选择其中的值
将结果转换为字符串数组
检查数组是否包含随机数
int random = 3;
bool exists = doc.XPathSelectElement("Numbers")
.Elements()
.Select(x => x.Value)
.ToArray()
.Contains(random.ToString());
确保包含这些名称空间
using System.Xml.Linq;
using System.Xml.XPath;
答案 3 :(得分:-1)
在此链接中,您可以轻松阅读XML:https://msdn.microsoft.com/es-es/library/cc189056(v=vs.95).aspx
如果您只需要特定的价值,您可以坚持使用Zohar Peled的答案。