React-Native анализирует xml с помощью fast-xml-parser

я получаю эту ошибку

[Отклонение необработанного обещания: TypeError: (0, _fastXmlParser.parse) не является функцией. (В '(0, _fastXmlParser.parse)(data)', '(0, _fastXmlParser.parse)' не определено)]

При использовании пакета fast-xml-parser я пытаюсь проанализировать этот XML и зарегистрировать его в консоли, пока это код: -

import { parse } from 'fast-xml-parser';

function test(){
  const emp_number = 20209;
  fetch('http://website.com/partner/api.php?emp_number='+`${emp_number}`, {
  method: 'POST',
  headers: {
    Accept: 'text/plain',
    'Content-Type': 'text/plain'
  }
})
  .then((response) => response.text())
  .then((data) => {
            let obj = parse(data);
            let servicenumber = obj.counter.serviceNumber;
            let consumpationtype = obj.counter.consumpationtype;
            let currentread = obj.counter.currentread;
            let currentdate = obj.counter.currentdate;
            let lastread = obj.counter.lastread;
            let lastdate = obj.counter.lastdate;
            let consumpation = obj.counter.consumpation;
            console.info("CurrentReading:"+`${currentread}`);
});}

а это api.php

<?php
    header('Content-Type: text/plain');
    $gecolEmployee = $_GET['emp_number'];

    $serverName = "host\SqlS"; 
    $connectionInfo = array( "Database"=>"gecol");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
        $query = "SELECT * FROM readers WHERE emp_number=?";
        $result = sqlsrv_query($conn, $query, array($gecolEmployee));
        $row = sqlsrv_fetch_array($result);
        if ( $conn ) {
            echo $row['xml'];
        }else{
            echo "خطأ.<br />";
            die( print_r( sqlsrv_errors(), true));
        }
?>

и ответ xml

<counter>
    <serviceNumber>200135644</serviceNumber>
    <consumpationtype>1</consumpationtype>
    <currentread>95808</currentread>
    <currentdate>29/6/2022</currentdate>
    <lastread>85808</lastread>
    <lastdate>29/5/2022</lastdate>
    <consumpation>?</consumpation>
    <counternumber>7038842</counternumber>
    <phonenumber>0928065968</phonenumber>
</counter>

Должно быть parser.parse(data)?

Ken Lee 13.11.2022 21:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
114
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

у меня была такая же проблема в реакции на натив с последней версией fast-xml-parser. Я обнаружил, что старые версии работают нормально.

  • удалите текущую версию: npm uninstall fast-xml-parser
  • установите эту версию: npm i [email protected]

Затем импортируйте метод и используйте его, у меня это сработало, выполнив следующие действия:

импортировать {parse} из "fast-xml-parser"

константа resExampleXML = YOUR XML DATA

const parsedData = анализ (resExampleXML)

console.warn(разобранные данные)

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