关于C#从XML取值的问题
<newnode>
<databasesource>pyf</databasesource>
<userid>test</userid>
<password>test</password>
<datatable>Details;Data_Test;Data_Log</datatable>
</newnode>
我怎么取到datatable里面的值 把那个;号给干掉。。是用数组吗?请给个代码演示吧,。谢啦
[解决办法]
取InnerText,之后string.Replace
XmlDocument doc = new XmlDocument(); doc.LoadXml("..."); XmlNode root = doc.DocumentElement; XmlNode node = root.SelectSingleNode("newnode/datatable"); if (node != null) { string value = node.InnerText.Replace(";",""); }
[解决办法]
如果就单纯的去掉;就像1楼的就行。
但是要想取得里面的单个的值,就用split函数
XmlDocument doc = new XmlDocument();
doc.LoadXml("...");
XmlNode root = doc.DocumentElement;
XmlNode node = root.SelectSingleNode("newnode/datatable");
if (node != null)
{
string value = node.InnerText;
}
string [] str = valve.split(";");
这样的话,在 str[0]里的值就是Details;在 str[1]里的值就是Data_Test; 在 str[2]里的值就是Data_Log ;
[解决办法]
这样的话,在 str[0]里的值就是“Details”在 str[1]里的值就是“Data_Test” 在 str[2]里的值就是“Data_Log”
[解决办法]
//注意字符中不要有!就OK了
public string[] split(string st, string pattern)
{
st.replace(st, pattern, '!');
return st.split('!');
}
[解决办法]
//注意字符中不要有!就OK了
public string[] split(string st, string pattern)
{
st.replace(st, pattern, "!");
return st.split('!');
}
[解决办法]
ToString()
[解决办法]
上面写的replace 我写的好像有点错误啊 replice(oldstr, pattern)
作为变量传值有俩种方式:ref out
声明:
public void fun(ref str)
{
}
pulbic void fun(out str)
{
}
在调用俩种方式申明的函数之前必须先申明参数
ref申明的必须调用之前是有值的
调用函数之后
str的值会随着fun()的调用发生变换
或者 你用个return str
也可以得到自己所要的值