简体   繁体   English

单击按钮时如何使用不同的元素值显示/过滤元素的值

[英]How can i display/filter values of elements, using a different value of an element when a button is clicked

I have this xml, and when button is clicked that it will show the images that belong to the value of the element. 我有这个xml,当单击按钮时,它将显示属于元素值的图像。 in my example: every carrosserie with the value "Sedan", display the value of the first element "FotoGroot" . 在我的示例中:每个值等于“ Sedan”的carrosserie都显示第一个元素“ FotoGroot”的值。 but i can't pull it of. 但我无法摆脱。 this is my xml : 这是我的xml:

<root>
<advertentie>
    <uId>3332</uId>
    <auto>
        <merk>GX-TM</merk>
        <carrosserie>Sedan</carrosserie>
    </auto>
    <afbeeldingen>
        <laatsUpdate>10.00</laatsUpdate>
        <FotoGroot>http://etc.usf.edu/clipart/63300/63366/63366_head_lg.gif</FotoGroot>
        <FotoGroot>https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRsXe7qqTisxV9_XpRGtY64fWMllpSAZwSIDzqRMLp4EVgJwStO</FotoGroot>
    </afbeeldingen>
</advertentie>
<advertentie>
    <uId>3333</uId>
    <auto>
        <merk>MB-Maybach</merk>
        <carroserie>Sedan</carroserie>
    </auto>
    <afbeeldingen>
        <laatsUpdate>11.00</laatsUpdate>
        <FotoGroot>http://static.robbreport.com/sites/default/files/mercdes-s600-maybach.jpg</FotoGroot>
        <FotoGroot>https://images.cdn.autocar.co.uk/sites/autocar.co.uk/files/styles/gallery_slide/public/merc-s-class-road-test-017.jpg?itok=pF_TCkMU</FotoGroot>
    </afbeeldingen>
</advertentie>
<advertentie>
    <uId>3334</uId>
    <auto>
        <merk>Royal-Gold</merk>
        <carroserie>Stationwagen</carroserie>
    </auto>
    <afbeeldingen>
        <laatsUpdate>12.00</laatsUpdate>
        <FotoGroot>http://iluvesports.com/wp-content/uploads/2016/07/royal-car-collection-1-600x369.jpg</FotoGroot>
        <FotoGroot>https://i.ytimg.com/vi/RDe3ZvTv5AQ/maxresdefault.jpg</FotoGroot>
    </afbeeldingen>
</advertentie>
</root>

and this is my c# : 这是我的C#:

protected void btnSedan_Click(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            XDocument xdoc = XDocument.Load(@"C:\\Users\\Gabriel\\documents\\visual studio 2013\\Projects\\ADadvertisement\\ADadvertisement\\Xml\\advertenties.xml");
            //var carHatchback = xdoc.Element("root").Elements("advertentie").Elements("auto").Where(E => E.Element("carrosserie").Value == "Sedan");
           // var carHatchback = xdoc.Element("root").Elements("advertentie").Where(E => E.Elements("auto").Elements("carrosserie").FirstOrDefault().Value == "Sedan");
            var carHatchback = xdoc.Element("root").Elements("advertentie").Where(E => E.Elements("auto").Elements("carrosserie").First().Value == "Sedan");
            StringBuilder sb = new StringBuilder();
            sb.Append("<div class='col-xs-12'>");
            sb.Append("<div class='panel panel-default'>");
            sb.Append("<div class='panel-heading'>Sedan</div>");
            sb.Append("<div class='panel-body'>");

            //var foto1 = xdoc.Element("root").Elements("advertentie").Elements("afbeeldingen").Where(eFoto => eFoto.Element("FotoGroot").Value.Equals(carHatchback)).SingleOrDefault();
            foreach (var autoSoort in carHatchback)
            {
               // sb.Append("<div class='col-xs-12 col-sm-6 col-md-4'><p class='text-success'>" + autoSoort.Element("merk").Value + " " + autoSoort.Element("model").Value + "</p><img src='' class='img-responsive' /></div>");
                sb.Append("<div class='col-xs-12 col-sm-6 col-md-4'><p class='text-success'>" + autoSoort.Element("auto").Element("merk").Value + "</p><img src='" + autoSoort.Element("afbeeldingen").Elements("FotoGroot").Skip(1).First().Value + "' class='img-responsive' /></div>");
            }
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("</div>");
            _SearchCarSoort.InnerHtml = sb.ToString();
        }
    }

Try following xml linq : 试试下面的xml linq:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Linq;


namespace ConsoleApplication55
{
    class Program
    {
        const string FILENAME = @"c:\temp\test2.xml";
        static void Main(string[] args)
        {
            XDocument doc = XDocument.Load(FILENAME);

            var results = doc.Descendants("advertentie").Select(x => new
            {
                uid = (int)x.Element("uId"),
                merk = (string)x.Descendants("merk").FirstOrDefault(),
                carrosserie = (string)x.Descendants("carrosserie").FirstOrDefault(),
                laatsUpdate = (double)x.Descendants("laatsUpdate").FirstOrDefault(),
                FotoGroot = x.Descendants("FotoGroot").Select(y => (string)y).ToList()
            }).ToList();

            string strings = "<div>"+
                string.Join("</div><div>",results.Select(x => "<p>" + string.Join("</p><p>", new string[] {x.uid.ToString(), x.merk, x.carrosserie, x.laatsUpdate.ToString(), x.FotoGroot.ToString()}) + "</p>")) +
                "</div>";
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 单击按钮时如何在文本框中显示不同的sql数据 - How to display different sql data in a text box when a button is clicked 输入值并单击按钮存款时如何增加值金额? - How can i increment value Amount when an value is typed and button deposit is clicked? 单击提交按钮时,如何获取动态创建的复选框的值? - How can I get the value of a dynamically created checkbox when the submit button is clicked? 如何使用按钮索引为特定的单击按钮着色? - How can I color the specific clicked button using the button index? 我可以通过使用按钮传递其他值作为输入,但在MVC3中显示其他内容吗 - Can I pass a different value as a input from using button but display something else in MVC3 单击“是”按钮时如何显示数据表? - How to display a datatable when Yes button is clicked? 单击按钮时如何显示Hello - How to display Hello when a button is clicked 单击按钮时如何调用方法并传递参数? - How can I call a method and pass arguments when a button is clicked? 单击该项目中的按钮时,如何访问 ListviewItem 的数据? - How can I access the data of a ListviewItem when a button in that Item is clicked? 如何创建一个Android对象识别应用程序,以便在使用Vuforia和Unity单击它们时可以显示信息? - How can I create an Android object recognition application where I can display information when they are clicked using Vuforia and Unity?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM