Hướng dẫn how can i convert html to xml? - làm cách nào để chuyển đổi html sang xml?

  1. Ứng dụng Excel
  2. chuyển đổi
  3. HTML đến XML

Đánh dấu ứng dụng này

Nhấn Ctrl + D để thêm trang này vào mục yêu thích hoặc ESC của bạn để hủy hành động.

Gửi liên kết tải xuống đến

Gửi cho chúng tôi phản hồi của bạn

Ối! Một lỗi đã xảy ra.

Tệp không hợp lệ, vui lòng đảm bảo rằng việc tải lên tệp chính xác

Lỗi đã được báo cáo thành công.

Bạn đã báo cáo thành công lỗi, bạn sẽ nhận được email thông báo khi lỗi được sửa. Nhấp vào liên kết này để truy cập các diễn đàn. Click this link to visit the forums.

Ngay lập tức xóa các tệp đã tải lên và xử lý.

Bạn có chắc chắn xóa các tệp không?

Nhập URL

Tôi đã tìm thấy một cách để chuyển đổi HTML (thậm chí xấu) thành XML hình thành tốt. Tôi bắt đầu dựa trên chức năng DOM LoadHTML. Tuy nhiên, trong thời gian, một số vấn đề đã xảy ra và tôi đã tối ưu hóa và thêm các bản vá để điều chỉnh các tác dụng phụ.

  function tryToXml($dom,$content) {
    if(!$content) return false;

    // xml well formed content can be loaded as xml node tree
    $fragment = $dom->createDocumentFragment();
    // wonderfull appendXML to add an XML string directly into the node tree!

    // aappendxml will fail on a xml declaration so manually skip this when occurred
    if( substr( $content,0, 5) == '')+1);
      if( strpos($content,'<') ) {
        $content = substr($content,strpos($content,'<'));
      }
    }

    // if appendXML is not working then use below htmlToXml() for nasty html correction
    if(!@$fragment->appendXML( $content )) {
      return $this->htmlToXml($dom,$content);
    }

    return $fragment;
  }



  // convert content into xml
  // dom is only needed to prepare the xml which will be returned
  function htmlToXml($dom, $content, $needEncoding=false, $bodyOnly=true) {

    // no xml when html is empty
    if(!$content) return false;

    // real content and possibly it needs encoding
    if( $needEncoding ) {
      // no need to convert character encoding as loadHTML will respect the content-type (only)
      $content =  '' . $content;
    }

    // return a dom from the content
    $domInject = new DOMDocument("1.0", "UTF-8");
    $domInject->preserveWhiteSpace = false;
    $domInject->formatOutput = true;

    // html type
    try {
      @$domInject->loadHTML( $content );
    } catch(Exception $e){
      // do nothing and continue as it's normal that warnings will occur on nasty HTML content
    }
        // to check encoding: echo $dom->encoding
        $this->reworkDom( $domInject );

    if( $bodyOnly ) {
      $fragment = $dom->createDocumentFragment();

      // retrieve nodes within /html/body
      foreach( $domInject->documentElement->childNodes as $elementLevel1 ) {
       if( $elementLevel1->nodeName == 'body' and $elementLevel1->nodeType == XML_ELEMENT_NODE ) {
         foreach( $elementLevel1->childNodes as $elementInject ) {
           $fragment->insertBefore( $dom->importNode($elementInject, true) );
         }
        }
      }
    } else {
      $fragment = $dom->importNode($domInject->documentElement, true);
    }

    return $fragment;
  }



    protected function reworkDom( $node, $level = 0 ) {

        // start with the first child node to iterate
        $nodeChild = $node->firstChild;

        while ( $nodeChild )  {
            $nodeNextChild = $nodeChild->nextSibling;

            switch ( $nodeChild->nodeType ) {
                case XML_ELEMENT_NODE:
                    // iterate through children element nodes
                    $this->reworkDom( $nodeChild, $level + 1);
                    break;
                case XML_TEXT_NODE:
                case XML_CDATA_SECTION_NODE:
                    // do nothing with text, cdata
                    break;
                case XML_COMMENT_NODE:
                    // ensure comments to remove - sign also follows the w3c guideline
                    $nodeChild->nodeValue = str_replace("-","_",$nodeChild->nodeValue);
                    break;
                case XML_DOCUMENT_TYPE_NODE:  // 10: needs to be removed
                case XML_PI_NODE: // 7: remove PI
                    $node->removeChild( $nodeChild );
                    $nodeChild = null; // make null to test later
                    break;
                case XML_DOCUMENT_NODE:
                    // should not appear as it's always the root, just to be complete
                    // however generate exception!
                case XML_HTML_DOCUMENT_NODE:
                    // should not appear as it's always the root, just to be complete
                    // however generate exception!
                default:
                    throw new exception("Engine: reworkDom type not declared [".$nodeChild->nodeType. "]");
            }
            $nodeChild = $nodeNextChild;
        } ;
    }

Bây giờ điều này cũng cho phép thêm nhiều mảnh HTML vào một XML mà tôi cần sử dụng. Nói chung, nó có thể được sử dụng như thế này:

        $c='

testtwo

'; $dom=new DOMDocument('1.0', 'UTF-8'); $n=$dom->appendChild($dom->createElement('info')); // make a root element if( $valueXml=tryToXml($dom,$c) ) { $n->appendChild($valueXml); } echo '
'. htmlentities($dom->saveXml($n)). '
';

Trong ví dụ này '

testtwo

' sẽ được xuất ra trong XML hình thành tốt là '

testtwo

'. Thẻ gốc thông tin được thêm vào vì nó cũng sẽ cho phép chuyển đổi '

one

two

' không phải là XML vì nó không có một phần tử gốc. Tuy nhiên, nếu bạn chắc chắn có một phần tử gốc thì có thể bỏ qua thẻ root .

Với điều này, tôi đang thực sự XML thực sự tốt đẹp từ HTML không cấu trúc và thậm chí bị hỏng!

Tôi hy vọng nó hơi rõ ràng và có thể đóng góp cho người khác sử dụng nó.

Làm thế nào để bạn tạo một tệp XML?

Cách tạo tệp XML..
Mở trình chỉnh sửa văn bản của bạn lựa chọn ..
Trên dòng đầu tiên, viết một tuyên bố XML ..
Đặt phần tử gốc của bạn bên dưới khai báo ..
Thêm các phần tử con của bạn trong phần tử gốc ..
Xem lại tệp của bạn về lỗi ..
Lưu tệp của bạn với.....
Kiểm tra tệp của bạn bằng cách mở nó trong cửa sổ trình duyệt ..

XML có phải từ HTML không?

Ans.Sự khác biệt chính giữa HTML và XML là HTML hiển thị dữ liệu và mô tả cấu trúc của trang web, trong khi XML lưu trữ và chuyển dữ liệu.XML là ngôn ngữ tiêu chuẩn có thể xác định các ngôn ngữ máy tính khác, nhưng HTML là ngôn ngữ được xác định trước với ý nghĩa riêng của nó.HTML displays data and describes the structure of a webpage, whereas XML stores and transfers data. XML is a standard language which can define other computer languages, but HTML is a predefined language with its own implications.

Định dạng XML trong HTML là gì?

Sự khác biệt giữa XML và HTML.

Bộ chuyển đổi XML là gì?

Trình chuyển đổi XML trực tuyến cho phép chuyển đổi XML thành PDF, Word, Excel, PowerPoint, HTML và hình ảnh.Chuyển đổi tệp XML trực tuyến miễn phí.Bộ chuyển đổi tài liệu XML trực tuyến miễn phí mạnh mẽ rất dễ dàng.allows to convert XML to PDF, Word, Excel, PowerPoint, HTML and Images. Convert XML files online for free. Powerful Free Online XML document converter is easy.