Нужна помощь в преобразовании XML в JS

Я использую fast-xml-parser, и он может анализировать некоторые данные, которые мы получаем из API, но не согласованно. Есть этот конкретный ответ, который не может быть проанализирован на объект JS.

      <?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://www.pepid.com/webservices/">
    <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
            <xs:complexType>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="ContentSearchIndex">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="Pos" type="xs:int" minOccurs="0" />
                                <xs:element name="Content_Id" type="xs:int" minOccurs="0" />
                                <xs:element name="Title" type="xs:string" minOccurs="0" />
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:choice>
            </xs:complexType>
        </xs:element>
    </xs:schema>
    <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
        <NewDataSet xmlns="">
            <ContentSearchIndex diffgr:id="ContentSearchIndex1" msdata:rowOrder="0">
                <Pos>8412</Pos>
                <Content_Id>401687</Content_Id>
                <Title>Headache</Title>
            </ContentSearchIndex>
        </NewDataSet>
    </diffgr:diffgram>
</DataSet>

Код, который приводит к этому, приведен ниже:

      return fetch(url)
  .then((response) => response.text())
  .then(async (text) => {
    const obj = parse(text);
    if (obj) {
      console.log(obj);
      return obj;

Я получил эти коды с https://www.pluralsight.com/guides/fetch-and-populate-xml-data-in-react-native, и он может анализировать некоторые ответы, но не тот, который упомянут выше.

Единственные данные, которые мне нужны, это ниже в формате JS, но я хочу сделать это правильно, используя fast-xml-parser. Я думаю, мне нужны только некоторые параметры, чтобы он правильно проанализировал этот ответ, не прибегая к хакерскому подходу к чтению всего ответного письма по буквам.

      <Pos>8412</Pos>
<Content_Id>401687</Content_Id>
<Title>Headache</Title>

1 ответ

Я не думаю, что вы можете напрямую преобразовать XML-файл в JS, но вы можете использовать его в JS для действительно интересных вещей, спасибо.

Другие вопросы по тегам