如何解析存储在LiteDB中的XML文件并在GUI中加载数据?

时间:2019-07-16 19:09:18

标签: c# xml asp.net-core asp.net-core-mvc litedb

我正在使用ASP.net core 2.2 MVC开发一个网络“应用”,它将作为一种“在线博物馆”

基本上,我想显示随机项目中的数据,以便它是动态的。

我当前拥有的数据是从Filemaker导出的几个XML文件的形式。事实是这些文件具有非常奇怪的结构,看起来与任何传统的xml文件都不一样。

此外,老板希望我们使用LiteDB作为我们的数据库。 现在,我知道LiteDB使用BSON而不是XML。

如何从这些XML文件访问数据并将其显示在浏览器中?

如果我将XML文件存储在LiteDB中,可以从中查询吗?甚至可以从示例中列出的XML文件进行查询吗?

我曾尝试将XML转换为JSON,但是格式如此奇怪,以至于它甚至不能与任何转换器一起使用。

<?xml version="1.0" encoding="utf-8"?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
  <ERRORCODE>0</ERRORCODE>
  <PRODUCT BUILD="12-18-2018" NAME="FileMaker" VERSION="ProAdvanced 17.0.4"/>
  <DATABASE DATEFORMAT="Yyyy-m-d" LAYOUT="" NAME="Collection SQ.fmp12" RECORDS="4346" TIMEFORMAT="k:mm:ss "/>
  <METADATA>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Titre" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="image" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Identifiant" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Mention de responsabilité" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Date" TYPE="DATE"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Période" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Type de ressource" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Description" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Sujet" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Provenance" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="DIC" TYPE="NUMBER"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Côte" TYPE="NUMBER"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Question" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Mise à la une" TYPE="BOOL"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Collection" TYPE="TEXT"/>
    <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Mots-clés" TYPE="TEXT"/>
  </METADATA>
  <RESULTSET FOUND="2">
    <ROW MODID="59" RECORDID="13083">
      <COL>
        <DATA>Fer à repasser</DATA>
      </COL>
      <COL>
        <DATA>
          2005_0298_3.jpg
        </DATA>
      </COL>
      <COL>
        <DATA></DATA>
      </COL>
      <COL>
        <DATA></DATA>
      </COL>
      <COL>
        <DATA>
          1920
        </DATA>
      </COL>
      <COL>
        <DATA>
          Police provinciale
        </DATA>
      </COL>
      <COL>
        <DATA>
          Numérique
        </DATA>
      </COL>
      <COL>
        <DATA>
          Fer à repasser en fonte. La poignée est circulaire, percée de petits trous.
        </DATA>
      </COL>
      <COL>
        <DATA>
          Crimes célèbres
        </DATA>
      </COL>
      <COL>
        <DATA>
          Musée SPQ
        </DATA>
      </COL>
      <COL>
        <DATA></DATA>
      </COL>
      <COL>
        <DATA></DATA>
      </COL>
      <COL>
        <DATA></DATA>
      </COL>
      <COL>
        <DATA>O</DATA>
      </COL>
      <COL>
        <DATA>
          Objet
        </DATA>
      </COL>
      <COL>
        <DATA>
          aurore gagnon; enfant martyr; infanticide
        </DATA>
      </COL>
    </ROW>
  <ROW MODID="59" RECORDID="13083">
    <COL>
      <DATA>
        Flambeau olympique
      </DATA>
    </COL>
    <COL>
      <DATA>
        2006_2089.jpg
      </DATA>
    </COL>
    <COL>
      <DATA></DATA>
    </COL>
    <COL>
      <DATA></DATA>
    </COL>
    <COL>
      <DATA>
        1976
      </DATA>
    </COL>
    <COL>
      <DATA>

      </DATA>
    </COL>
    <COL>
      <DATA>
        Numérique
      </DATA>
    </COL>
    <COL>
      <DATA>
        Flambeau olympique cylindrique rouge et noir.
      </DATA>
    </COL>
    <COL>
      <DATA>
        Événements/opérations majeures
      </DATA>
    </COL>
    <COL>
      <DATA>
        QG de Québec
      </DATA>
    </COL>
    <COL>
      <DATA></DATA>
    </COL>
    <COL>
      <DATA></DATA>
    </COL>
    <COL>
      <DATA></DATA>
    </COL>
    <COL>
      <DATA>O</DATA>
    </COL>
    <COL>
      <DATA>
        Objet
      </DATA>
    </COL>
    <COL>
      <DATA>
        flamme; stade
      </DATA>
    </COL>
  </ROW>
  </RESULTSET>
</FMPXMLRESULT>

我希望能够从这样的文件中获取数据,并从视图中输出数据,但是我不知道从哪里开始。 (考虑到这些文件也应该在LiteDB中)

0 个答案:

没有答案