Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) Convert an HTML Table to Plain-TextConverts an HTML table to plain-text.
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' This example converts the following HTML fragment to plain-text showing just ' the information desired. ' This is the raw HTML to be converted: ' ' <table><tr><th> ' <p>Property</p></th><th scope="col"><p>Type</p></th><th ' scope="col"><p>R/W</p></th><th scope="col"><p><a ' href="https://msdn.microsoft.com/en-us/library/office/jj164022.aspx#NavigationProperties"> ' Returned with resource</a></p></th><th ' scope="col"><p>Description</p></th></tr><tr><td ' data-th="Property"><p>Author</p></td><td data-th="Type"><p><a ' href="https://msdn.microsoft.com/en-us/library/office/dn531432.aspx#bk_User"> ' SP.User</a></p></td><td data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>No</p></td><td data-th="Description"><p>Gets a value that ' specifies the user who added the file.</p></td></tr><tr><td ' data-th="Property"><p>CheckedOutByUser</p></td><td data-th="Type"><p><a ' href="https://msdn.microsoft.com/en-us/library/office/dn531432.aspx#bk_User"> ' SP.User</a></p></td><td data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>No</p></td><td data-th="Description"><p>Gets a value that returns ' the user who has checked out the file.</p></td></tr><tr><td ' data-th="Property"><p>CheckInComment</p></td><td data-th="Type"><p><span ' class="input">String</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that returns the comment used when a ' document is checked in to a document library.</p></td></tr><tr><td ' data-th="Property"><p>CheckOutType</p></td><td data-th="Type"><p><span ' class="input">Int32</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that indicates how the file is checked ' out of a document library. Represents an <span ' class="input">SP.CheckOutType</span> value: Online = 0; Offline = 1; None = ' 2.</p><p>The checkout state of a file is independent of its locked ' state.</p></td></tr><tr><td data-th="Property"><p>ContentTag</p></td><td ' data-th="Type"><p><span class="input">String</span></p></td><td ' data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>Yes</p></td><td data-th="Description"><p>Returns internal version ' of content, used to validate document equality for read ' purposes.</p></td></tr><tr><td ' data-th="Property"><p>CustomizedPageStatus</p></td><td data-th="Type"><p><span ' class="input">Int32</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that specifies the customization status ' of the file. Represents an <span class="input">SP.CustomizedPageStatus</span> ' value: None = 0; Uncustomized = 1; Customized = 2.</p></td></tr><tr><td ' data-th="Property"><p>ETag</p></td><td data-th="Type"><p><span ' class="input">String</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that specifies the ETag ' value.</p></td></tr><tr><td data-th="Property"><p>Exists</p></td><td ' data-th="Type"><p><span class="input">Boolean</span></p></td><td ' data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>Yes</p></td><td data-th="Description"><p>Gets a value that ' specifies whether the file exists.</p></td></tr><tr><td ' data-th="Property"><p>Length</p></td><td data-th="Type"><p><span ' class="input">Int64</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets the size of the file in bytes, excluding the size ' of any Web Parts that are used in the file.</p></td></tr><tr><td ' data-th="Property"><p>Level</p></td><td data-th="Type"><p><span ' class="input">Byte</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that specifies the publishing level of ' the file. Represents an <span class="input">SP.FileLevel</span> value: ' Published = 1; Draft = 2; Checkout = 255.</p></td></tr><tr><td ' data-th="Property"><p>ListItemAllFields</p></td><td data-th="Type"><p><a ' href="https://msdn.microsoft.com/en-us/library/office/dn531433.aspx#bk_ListItem"> ' SP.ListItem</a></p></td><td data-th="R/W"><p>R</p></td><td data-th="Returned ' with resource"><p>No</p></td><td data-th="Description"><p>Gets a value that ' specifies the list item field values for the list item corresponding to the ' file.</p></td></tr><tr><td data-th="Property"><p>LockedByUser</p></td><td ' data-th="Type"><p><a ' href="https://msdn.microsoft.com/en-us/library/office/dn531432.aspx#bk_User"> ' SP.User</a></p></td><td data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>No</p></td><td data-th="Description"><p>Gets a value that returns ' the user that owns the current lock on the file.</p></td></tr><tr><td ' data-th="Property"><p>MajorVersion</p></td><td data-th="Type"><p><span ' class="input">Int32</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that specifies the major version of the ' file.</p></td></tr><tr><td data-th="Property"><p>MinorVersion</p></td><td ' data-th="Type"><p><span class="input">Int32</span></p></td><td ' data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>Yes</p></td><td data-th="Description"><p>Gets a value that ' specifies the minor version of the file.</p></td></tr><tr><td ' data-th="Property"><p>ModifiedBy</p></td><td data-th="Type"><p><a ' href="https://msdn.microsoft.com/en-us/library/office/dn531432.aspx#bk_User"> ' SP.User</a></p></td><td data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>No</p></td><td data-th="Description"><p>Gets a value that returns ' the user who last modified the file.</p></td></tr><tr><td ' data-th="Property"><p>Name</p></td><td data-th="Type"><p><span ' class="input">String</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets the name of the file including the ' extension.</p></td></tr><tr><td ' data-th="Property"><p>ServerRelativeUrl</p></td><td data-th="Type"><p><span ' class="input">String</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets the relative URL of the file based on the URL for ' the server.</p></td></tr><tr><td data-th="Property"><p>TimeCreated</p></td><td ' data-th="Type"><p><span class="input">DateTime</span></p></td><td ' data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>Yes</p></td><td data-th="Description"><p>Gets a value that ' specifies when the file was created.</p></td></tr><tr><td ' data-th="Property"><p>TimeLastModified</p></td><td data-th="Type"><p><span ' class="input">DateTime</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that specifies when the file was last ' modified.</p></td></tr><tr><td data-th="Property"><p>Title</p></td><td ' data-th="Type"><p><span class="input">String</span></p></td><td ' data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>Yes</p></td><td data-th="Description"><p>Gets a value that ' specifies the display name of the file.</p></td></tr><tr><td ' data-th="Property"><p>UiVersion</p></td><td data-th="Type"><p><span ' class="input">Int32</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that specifies the ' implementation-specific version identifier of the file.</p></td></tr><tr><td ' data-th="Property"><p>UiVersionLabel</p></td><td data-th="Type"><p><span ' class="input">String</span></p></td><td data-th="R/W"><p>R</p></td><td ' data-th="Returned with resource"><p>Yes</p></td><td ' data-th="Description"><p>Gets a value that specifies the ' implementation-specific version identifier of the file.</p></td></tr><tr><td ' data-th="Property"><p>Versions</p></td><td data-th="Type"><p><a ' href="https://msdn.microsoft.com/en-us/library/office/dn450841.aspx#bk_FileVersionCollection">SP.FileVersionCollection</a> ' </p></td><td data-th="R/W"><p>R</p></td><td data-th="Returned with ' resource"><p>No</p></td><td data-th="Description"><p>Gets a value that returns ' a collection of file version objects that represent the versions of the ' file.</p></td></tr></table> ' Dim h2x As New Chilkat.HtmlToXml Dim success As Boolean = h2x.SetHtmlFromFile("qa_data/htmlToText/htmlTable.html") ' First convert to well-formed XML that makes it easier to parse. Dim xml As New Chilkat.Xml xml.LoadXml(h2x.ToXml()) Debug.WriteLine(xml.GetXml()) ' The XML looks like this: ' <?xml version="1.0" encoding="utf-8" ?> ' <root> ' <table> ' <tr> ' <th> ' <p> ' <text>Property</text> ' </p> ' </th> ' <th scope="col"> ' <p> ' <text>Type</text> ' </p> ' </th> ' <th scope="col"> ' <p> ' <text>R/W</text> ' </p> ' </th> ' <th scope="col"> ' <p> ' <a href="https://msdn.microsoft.com/en-us/library/office/jj164022.aspx#NavigationProperties"> ' <text>Returned with resource</text> ' </a> ' </p> ' </th> ' <th scope="col"> ' <p> ' <text>Description</text> ' </p> ' </th> ' </tr> ' <tr> ' <td data-th="Property"> ' <p> ' <text>Author</text> ' </p> ' </td> ' <td data-th="Type"> ' <p> ' <a href="https://msdn.microsoft.com/en-us/library/office/dn531432.aspx#bk_User"> ' <text>SP.User</text> ' </a> ' </p> ' </td> ' <td data-th="R/W"> ' <p> ' <text>R</text> ' </p> ' </td> ' <td data-th="Returned with resource"> ' <p> ' <text>No</text> ' </p> ' </td> ' <td data-th="Description"> ' <p> ' <text>Gets a value that specifies the user who added the file.</text> ' </p> ' </td> ' </tr> ' ... ' Debug.WriteLine("------------------------------------------------") ' Iterate over the XML, skipping the 1st table row, and emit ' the Property and Description for each row. Dim sbPlainText As New Chilkat.StringBuilder ' First move to the "table" node. xml.FirstChild2() ' Get the number of rows. Dim numRows As Integer = xml.NumChildren ' Indexing is 0-based, meaning the 1st row (i.e. the table headers) is at index 0. ' Skip it by starting with index 1. Dim i As Integer = 1 While i < numRows xml.I = i sbPlainText.Append(xml.GetChildContent("tr[i]|/A/td,data-th,Property|p|text")) sbPlainText.Append(": ") sbPlainText.AppendLine(xml.GetChildContent("tr[i]|/A/td,data-th,Description|p|text"),True) i = i + 1 End While Debug.WriteLine(sbPlainText.GetAsString()) ' The output is: ' Author: Gets a value that specifies the user who added the file. ' CheckedOutByUser: Gets a value that returns the user who has checked out the file. ' CheckInComment: Gets a value that returns the comment used when a document is checked in to a document library. ' CheckOutType: Gets a value that indicates how the file is checked out of a document library. Represents an ' ContentTag: Returns internal version of content, used to validate document equality for read purposes. ' CustomizedPageStatus: Gets a value that specifies the customization status of the file. Represents an ' ETag: Gets a value that specifies the ETag value. ' Exists: Gets a value that specifies whether the file exists. ' Length: Gets the size of the file in bytes, excluding the size of any Web Parts that are used in the file. ' Level: Gets a value that specifies the publishing level of the file. Represents an ' ListItemAllFields: Gets a value that specifies the list item field values for the list item corresponding to the file. ' LockedByUser: Gets a value that returns the user that owns the current lock on the file. ' MajorVersion: Gets a value that specifies the major version of the file. ' MinorVersion: Gets a value that specifies the minor version of the file. ' ModifiedBy: Gets a value that returns the user who last modified the file. ' Name: Gets the name of the file including the extension. ' ServerRelativeUrl: Gets the relative URL of the file based on the URL for the server. ' TimeCreated: Gets a value that specifies when the file was created. ' TimeLastModified: Gets a value that specifies when the file was last modified. ' Title: Gets a value that specifies the display name of the file. ' UiVersion: Gets a value that specifies the implementation-specific version identifier of the file. ' UiVersionLabel: Gets a value that specifies the implementation-specific version identifier of the file. ' Versions: Gets a value that returns a collection of file version objects that represent the versions of the file. ' |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.