使用 linq 对 xml 文件进行排序

发布于 2024-08-04 04:41:55 字数 1301 浏览 2 评论 0原文

我想对我的 xml 进行排序,推断的架构位于下面。

我想根据一列值(按字母顺序)对行进行排序,

是否可以在 Linq to Xml 中执行此操作?或者 XSLT 是我唯一的选择?

谢谢卡米尔

好的

,我删除了架构并提供了部分文件

    <Matrix>
    ...
    <Rows>
      <Row>
        <Visible>1</Visible>
        <Columns>
          <Column>
            <ID>col_f</ID>
            <Value>
            </Value>
          </Column>
          <Column>
            <ID>col_0</ID>
            <Value>r00329</Value>
          </Column>
          <Column>
            <ID>col_1</ID>
            <Value>Gerbera "Ambiance" rosa-creme</Value>
          </Column>
          <Column>
            <ID>col_2</ID>
            <Value>
            </Value>
          </Column>
          <Column>
            <ID>col_dost</ID>
            <Value>Bl... Holland</Value>
          </Column>
          <Column>
            <ID>col_3</ID>
            <Value>0,000</Value>
          </Column>
          <Column>
            <ID>col_5</ID>
            <Value>0,000</Value>
            ...

I would like to sort my xml for which the inffered schema is placed below.

I would like to sort rows based on one column value (alphabetical)

Is it possible to do that in Linq to Xml? Or XSLT is my only option?

Thanks

Kamil

Ok, I removed schema and provide part of file

    <Matrix>
    ...
    <Rows>
      <Row>
        <Visible>1</Visible>
        <Columns>
          <Column>
            <ID>col_f</ID>
            <Value>
            </Value>
          </Column>
          <Column>
            <ID>col_0</ID>
            <Value>r00329</Value>
          </Column>
          <Column>
            <ID>col_1</ID>
            <Value>Gerbera "Ambiance" rosa-creme</Value>
          </Column>
          <Column>
            <ID>col_2</ID>
            <Value>
            </Value>
          </Column>
          <Column>
            <ID>col_dost</ID>
            <Value>Bl... Holland</Value>
          </Column>
          <Column>
            <ID>col_3</ID>
            <Value>0,000</Value>
          </Column>
          <Column>
            <ID>col_5</ID>
            <Value>0,000</Value>
            ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可可 2024-08-11 04:41:55

可以按如下方式获取已排序的行:

// assume rows is a reference to the <Rows> node
var query = from row in rows.Elements( "Row" )
            let sortValue = (
                from c in row.Element("Columns").Elements("Column")
                where c.Element("ID").Value == "col_1"
                select c.Element("Value").Value
            ).FirstOrDefault()
            orderby sortValue
            select row;

这将为您提供按“col_1”列的“值”排序的“行”元素的集合。

根据需要进行调整。

Sorted rows can be obtained as follows:

// assume rows is a reference to the <Rows> node
var query = from row in rows.Elements( "Row" )
            let sortValue = (
                from c in row.Element("Columns").Elements("Column")
                where c.Element("ID").Value == "col_1"
                select c.Element("Value").Value
            ).FirstOrDefault()
            orderby sortValue
            select row;

This will give you a collection of "Row" elements sorted by the "col_1" column's "Value".

Adjust as needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文