humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

export_to_xml

export_to_xml($file_path,$number,$rows="",$cols="",$as_html=true,$frame=-1); - экспорт таблицы с заданным номером или ее части в xml файл

  • $file_path – путь к файлу. Путь к файлу может быть как полный (с указанием диска) так и относительный, в этом случае переданный путь будет добавлен к папке в которой находится php файл запущенного скрипта.
  • $number – номер по которому мы находим необходимый нам элемент на странице (int) . Номера элементов начинаются с 0 и для элементов разного типа своя нумерация. Чтобы узнать номер элемента, можно воспользоваться либо инспектором элементов, либо контекстным меню, либо посмотреть его в списке элементов.
  • $rows – указывает с какими строками производить действие (string). Строки передаются в виде текста с номерами строк, разделенными запятой. Нумерациия строк начинается с нуля. По умолчанию "" (все строки таблицы) .
  • $cols – указывает с какими столбцами производить действие (string). Столбцы передаются в виде текста с номерами столбцов, разделенными запятой. Нумерациия столбцов начинается с нуля. По умолчанию "" (все строки таблицы) .
  • $as_html – сохранять текст ячеек как html (true), иначе как их внутренний текст (false)
  • $frame – номер фрейма, в котором мы ищем элемент (string). Номера фреймов начинаются с нуля. По умолчанию -1 - элемент находится не во фрейме. Номер фрейма в котором находится нужный вам элемент можно узнать из инспектора задач, контекстного меню и панели списка элементов.
    С версии 4.6.41 достпуно: можно передавать вложенные фреймы, принцип такой же самый, передается строка с номерами фреймов, разделенных : например при передаче "1:0:5" - будет выбран фрейм с номером 1 в нем под фрейм с номером 0 и в нем подфрейм с номером 5
    С версии 7.0.38 достпуно: можно передавать "url=>XXX", тогда будет произведен поиск фрейма, который содержит заданнй src, или передавать "name=>XXX" - тогда будет поиск фрейма, по заданной части имени.

    После отработки функция возвращает результат своей работы в скрипт (тип возвращаемого значения boolean):
  • true – выполнили успешно
  • false – найти такой элемент не удалось (например нет вообще элементов, удовлетворяющих заданным критериям или нет такого фрейма)

    Пример использования
    <?php
    // Scenario: Export table data to XML format using XHETable class
    // Description: Demonstrates how to export table data to XML file with various options for rows, columns, and formatting
    // Classes used: DOM, XHETable, XHEBrowser, XHEApplication
    
    // Step: Connection to XHE API
    $xhe_host = "localhost:7010";
    
    // Step: Include init.php file
    if (!isset($path))
    {
        $path = "../../../Templates/init.php";
        require($path);
    }
    
    // Step: Navigate to the polygon page
    WEB::$browser->navigate(TEST_POLYGON_URL . "table.html");
    echo "=== Example of using export_to_xml ===\n\n";
    
    // Example 1: Export entire table to XML file
    echo "Example 1: Export entire table to XML file\n\n";
    
    // Step: Define arguments for export_to_xml
    $filePath1 = 'output/table_data.xml';
    $tableNumber1 = 0;
    $rows1 = ''; // All rows (empty string)
    $columns1 = ''; // All columns (empty string)
    $asHtml1 = false; // As text (not as HTML)
    
    $xml_result = DOM::$table->export_to_xml(
        $filePath1,
        $tableNumber1,
        $rows1,
        $columns1,
        $asHtml1
    );
    
    echo "Export result: " . ($xml_result ? 'Success' : 'Error') . "\n\n";
    
    
    // Example 2: Export specific rows and columns
    echo "Example 2: Export specific rows and columns\n\n";
    
    // Step: Define arguments for export_to_xml
    $filePath2 = 'output/table_data_filtered.xml';
    $tableNumber2 = 0;
    $rows2 = '0,2,4'; // Rows with indices 0, 2, 4
    $columns2 = '1,3,5'; // Columns with indices 1, 3, 5
    $asHtml2 = false; // As text
    
    $xml_result = DOM::$table->export_to_xml(
        $filePath2,
        $tableNumber2,
        $rows2,
        $columns2,
        $asHtml2
    );
    
    echo "Export result: " . ($xml_result ? 'Success' : 'Error') . "\n\n";
    
    
    // Example 3: Export as HTML
    echo "Example 3: Export as HTML\n\n";
    
    // Step: Define arguments for export_to_xml
    $filePath3 = 'output/table_data_html.xml';
    $tableNumber3 = 0;
    $rows3 = ''; // All rows
    $columns3 = ''; // All columns
    $asHtml3 = true; // As HTML
    
    $xml_result = DOM::$table->export_to_xml(
        $filePath3,
        $tableNumber3,
        $rows3,
        $columns3,
        $asHtml3
    );
    
    echo "Export result: " . ($xml_result ? 'Success' : 'Error') . "\n\n";
    
    
    // Example 4: Export with frame specification
    echo "Example 4: Export with frame specification\n\n";
    
    // Step: Define arguments for export_to_xml
    $filePath4 = 'output/table_data_frame.xml';
    $tableNumber4 = 0;
    $rows4 = '0,1'; // First two rows
    $columns4 = '0,1'; // First two columns
    $asHtml4 = false; // As text
    $frame4 = '0'; // Frame 0
    
    $xml_result = DOM::$table->export_to_xml(
        $filePath4,
        $tableNumber4,
        $rows4,
        $columns4,
        $asHtml4,
        $frame4
    );
    
    echo "Export result: " . ($xml_result ? 'Success' : 'Error') . "\n\n";
    
    
    echo "All export_to_xml examples completed!\n";
    
    // Step: Stop work
    WINDOW::$app->quit();
    ?>
    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
    
    xhe_host = "127.0.0.1:7010"
    from xweb_human_emulator import *
    
    # начало
    echo("<hr><font color=blue>table.xxxxxxxxx</font><hr>")
    
    # 1 
    echo("1. Перейдем на полигон : ")
    echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/table.html"),"<br>")
    
    # 2 
    echo("2. Экспорт всей таблицы с 0 номером в xml как html : ")
    echo(table.export_to_xml("c:\\1.xml",0),"<br>")
    app.shell_execute("open","c:\\1.xml","","c:\\",true)
    
    # 3 
    echo("3. Экспорт ячеек (1:1)(2:3)(6:2) таблицы с 0 номером в xml как текст : ")
    echo(table.export_to_xml("c:\\2.xml",0,"1,2,6","1,3,2",false),"<br>")
    app.shell_execute("open","c:\\2.xml","","c:\\",false)
    
    # 4 
    echo("3. Экспорт несуществующей таблицы в xml : ")
    if not table.export_to_xml("c:\\0.xml",100500,"","",false):
    	echo("нет такого элемента<br>")
    
    # 5 
    echo("5. Экспорт всей таблицы с 0 номером в csv как html в нулевом фрейме : ")
    echo(table.export_to_xml("c:\\3.xml",0,"","",true,0),"<br>")
    app.shell_execute("open","c:\\3.xml","","c:\\",true)
    
    # 6 
    echo("6. Экспорт несуществующей таблицы в csv в нулевом фрейме : ")
    if not table.export_to_xml("c:\\0.xml",100500,"","",false,0):
    	echo("нет такого элемента<br>")
    
    # 7 
    echo("7. Экспорт таблицы в csv в несуществующем фрейме : ")
    if not table.export_to_xml("c:\\0.xml",0,"","",false,5):
    	echo("нет такого фрейма<br>")
    
    # конец
    echo("<hr><br>")
    
    # Quit
    app.quit()
    #region using
    
    using System;
    using System.Diagnostics;
    using System.Collections.Generic;
    using System.Linq;
    using System.IO;
    using System.Text;
    using System.Threading;
    
    using XHE;
    using XHE.XHE_DOM;
    using XHE.XHE_System;
    using XHE.XHE_Window;
    using XHE.XHE_Web;
    
    #endregion
    
     class Program:XHEScript
     {
    	  static void Main(string[] args)
    	  {
    			// init XHE
    			server = "localhost:7010";
    			InitXHE();
    
    			// начало
    			echo("<hr><font color=blue>table.export_to_xml</font><hr>");
    							
    			// 1 шаг
    			echo("1. Перейдем на полигон : ");
    			echo(browser.navigate("rpa-bot.ru/wiki/poligon/table.html")+"<br>");
    			
    			
    			// 2 шаг
    			echo("2. Экспорт всей таблицы с 0 номером в xml как хтмл : ");
    			echo(table.export_to_xml("c:\\1.xml",0)+"<br>");
    			app.shell_execute("open","c:\\1.xml","","c:\\",1);
    			
    			// 3 шаг
    			echo("3. Экспорт ячеек (1:1)(2:3)(6:2) таблицы с 0 номером в xml как текст : ");
    			echo(table.export_to_xml("c:\\2.xml",0,"1,2,6","1,3,2",false)+"<br>");
    			app.shell_execute("open","c:\\2.xml","","c:\\",1);
    			
    			// 4 шаг
    			echo("3. Экспорт несуществующей таблицы в xml : ");
    			if (!table.export_to_xml("c:\\0.xml",100500,"","",false))
    				echo("нет такого элемента<br>");
    			
    			// 5 шаг
    			echo("5. Экспорт всей таблицы с 0 номером в csv как хтмл в нулевом фрейме : ");
    			echo(table.export_to_xml("c:\\3.xml",0,"","",true,"0")+"<br>");
    			app.shell_execute("open","c:\\3.xml","","c:\\",1);
    			
    			// 6 шаг
    			echo("6. Экспорт несуществующей таблицы в csv в нулевом фрейме : ");
    			if (!table.export_to_xml("c:\\0.xml",100500,"","",false,"0"))
    				echo("нет такого элемента<br>");
    			
    			// 7 шаг
    			echo("7. Экспорт таблицы в csv в несуществующем фрейме : ");
    			if (!table.export_to_xml("c:\\0.xml",0,"","",false,"5"))
    				echo("нет такого фрейма<br>");
    
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:7010";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>table.export_to_xml</font><hr>");
    
    // 1 шаг
    echo("1. Перейдем на полигон : ");
    echo(browser.navigate("https://rpa-bot.ru/wiki/poligon/table.html")+"<br>");
    
    
    // 2 шаг
    echo("2. Экспорт всей таблицы с 0 номером в xml как html : ");
    echo(table.export_to_xml("c:\\1.xml",0)+"<br>");
    app.shell_execute("open","c:\\1.xml","","c:\\",true);
    
    // 3 шаг
    echo("3. Экспорт ячеек (1:1)(2:3)(6:2) таблицы с 0 номером в xml как текст : ");
    echo(table.export_to_xml("c:\\2.xml",0,"1,2,6","1,3,2",false)+"<br>");
    app.shell_execute("open","c:\\2.xml","","c:\\",false);
    
    // 4 шаг
    echo("4. Экспорт несуществующей таблицы в xml : ");
    if (!table.export_to_xml("c:\\0.xml",100500,"","",false))
    	echo("нет такого элемента<br>");
    
    // 5 шаг
    echo("5. Экспорт всей таблицы с 0 номером в csv как html в нулевом фрейме : ");
    echo(table.export_to_xml("c:\\3.xml",0,"","",true,0)+"<br>");
    app.shell_execute("open","c:\\3.xml","","c:\\",true);
    
    // 6 шаг
    echo("6. Экспорт несуществующей таблицы в csv в нулевом фрейме : ");
    if (!table.export_to_xml("c:\\0.xml",100500,"","",false,0))
    	echo("нет такого элемента<br>");
    
    // 7 шаг
    echo("7. Экспорт таблицы в csv в несуществующем фрейме : ");
    if (!table.export_to_xml("c:\\0.xml",0,"","",false,5))
    	echo("нет такого фрейма<br>");
    
    // конец
    echo("\n");
    
    // Quit
    app.quit();

    =============================================
    Textarea    Объекты    DOM  System  Vision  Web  Window        
    =============================================
    Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.