Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XML元素值显示为空_C#_Android_Xml_Linq_Xamarin - Fatal编程技术网

C# XML元素值显示为空

C# XML元素值显示为空,c#,android,xml,linq,xamarin,C#,Android,Xml,Linq,Xamarin,我使用Xamarin和LINQ从文件中提取XML元素的值,并在屏幕上显示它们。C#计划是 Button b = (Button)FindViewById<Button>(Resource.Id.button); TextView t = (TextView)FindViewById<TextView>(Resource.Id.textView); XDocument X = XDocument.Load(Assets.Open("DataDump.xm

我使用Xamarin和LINQ从文件中提取XML元素的值,并在屏幕上显示它们。C#计划是

Button b = (Button)FindViewById<Button>(Resource.Id.button);

    TextView t = (TextView)FindViewById<TextView>(Resource.Id.textView);

    XDocument X = XDocument.Load(Assets.Open("DataDump.xml"));

    XElement nodex = X.Element("x");
    XElement nodey = X.Element("y");
    XElement nodez = X.Element("z");
    XElement noder = X.Element("RightClick");
    XElement nodel = X.Element("LeftClick");

    b.Click += (object sender, EventArgs e) =>
    {


        t.Text = string.Format(" x={0}\n y={1}\n z={2}", nodex, nodey, nodez);
    };
Button b=(Button)FindViewById(Resource.Id.Button);
TextView t=(TextView)FindViewById(Resource.Id.TextView);
XDocument X=XDocument.Load(Assets.Open(“DataDump.xml”);
XElement nodex=X.Element(“X”);
XElement nodey=X.Element(“y”);
XElement nodez=X.Element(“z”);
XElement节点=X.Element(“右键单击”);
XElement nodel=X.Element(“左键单击”);
b、 单击+=(对象发送者,事件参数)=>
{
t、 Text=string.Format(“x={0}\ny={1}\nz={2}”,nodex,nodey,nodez);
};
XML文件是


0.214
0.396
9.842
1.
0

X
是您的文档<代码>元素返回子元素。文档中唯一的子元素是
根元素
——因此所有查询都将返回
null
,因为这些子元素都不存在

在这种情况下,最明显的修复方法是调用
根目录上的
元素

X.Root.Element("x")

要获取
XElement
的值,可以调用该属性

var nodex = X.Root.Element("x").Value;
或强制转换为值的类型:

var nodex = (decimal)X.Root.Element("x");
如果您使用
XElement.load
方法加载xml,则您将直接加载文档的根元素,这样,您就可以在文章中尝试加载子元素:

XElement X= XElement.Load(Assets.Open("DataDump.xml"));
var nodex = X.Element("x").Value;
//...
有关此主题的更多信息,请查看此