Extensible Markup Language (XML) refers to the encoding of documents such that they can be read by both machines and humans. XML documents use tags to show the beginning and end of a set of data. XML is used extensively on websites to show volumes of data, and is the default for a number of office productivity suites. This topic includes discussions of XML-related technologies, such as XQuery (the XML Query language), XPath (the XML Path language), XSLT (eXtensible Stylesheet Language Transformations), XLink (the XML Linking language) and XPointer (the XML Pointer language).

Share tech news, updates, or what's on your mind.

Sign up to Post


I'm trying to export my data to an excel document.

this is my first time doing it in MVC C# so I need your help please.

Do I need to create a view document for "ExportToExcel " ?

I'm doing the example that is in this URL:

Thank you for your help ;-)

Filtering the data in my model

    public List<RuleDetail> RuleDetailList(CABRSearchRules model)
            List<RuleDetail> modelList = new List<RuleDetail>();

            IEnumerable<CABR_RuleDetail> list = new List<CABR_RuleDetail>();
            IEnumerable<CABR_HistoryRuleDetail> Historylist = new List<CABR_HistoryRuleDetail>();

            if (model.SelectedCurrentOrHistoryID == 1) //Current
                list = _unitOfWorkCABusinessRules.RuleDetailRepo.GetAll().ToList();

                //Filter Status
                if (model.SelectedStatus != null)
                    list = list.Where(x => x.isActive == model.SelectedStatus);

                //Filter Environment
                if (model.SelectedEnvironment != "All")
                    list = list.Where(x => x.Environment == model.SelectedEnvironment);

                //Filter Version
                if (model.SelectedVersion != null)
                    list = list.Where(x => model.SelectedVersion.Any(m => Equals(x.Version, m)));

                //Filter CQ Ticket
                if (model.SelectedCQticket != null)
                    list = 

Open in new window

I am sending form data to a 3rd party API but get this error:

HTTP/1.1 415 Cannot process the message because the content type 'application/x-www-form-urlencoded' was not the expected type 'text/xml; charset=utf-8'

So, I am trying to troubleshoot by sending the data via Postman but getting the same error. Not really sure how to resolve this? I have been trying to change the content type to text and xml etc. but still keep getting similar errors.

In the headers I have:

Content-Type : application/xml

Not sure if that needs to change
Hello Experts;
I'm trying to parse out nodes from an XML string, which is saved in a txt field in my sql database. I am not experiences w/ XML data files btw.
The string doesn't start at the root and the field isn't type xml.  

Attached is an picture of the text field with the elements I'd like to query out:  

For example; I'd like to be able to pull <PitchType> from the records starting with <PitchPush>.

I've tried cross apply XML_Data.notes(...) and as the field isn't a type xml it errors.
I've seen methods that use the namespace, or refer to 'if you have the root'; neither of which are the case for my data.  

Are there methods for this? If necessary I'm willing to pull the strings into a csv & import to temp table. This data will be static when (if) I can get to it.

Thank you!
i have no idea what i am doing here... short story - our phone system is capable of integrating with our CRM but it isn't working. i believe the problem is that the phone number of the incoming caller is being passed from the phone system to the crm without any hyphens in the string but all the phone numbers stored in the crm have hyphens in them and the match never takes place. i have confirmed this by hard coding a phone number into the xml "xsi" template stored on the phone server that facilitates the query of the crm - when i do this, it finds a match and everything is happy.

so, my question is - is there a way in the xml file to "transform" the string being passed from the phone system and add a hyphen to it? i have almost no experience with xml.

it seems the value in the xml file is called Number and is used like this: $filter=contains(telephone1,'[Number]')

i would love to create a variable that i could use instead of Number and put a hyphen in it and just use that everywhere instead of '[Number]'.

am i making any sense? many thanks in advance.

I need help in XSLT.

In my XSLT, I have many links in href previously.
For sme reason I need to move entire web app to virtual folder.

Now, I have to place another variable before all href link with
so, previously, link was
{//web/menu[@title='Contact Us']/@url}

Now after modifying link become as below
{$virtualFolderPath}{//web/menu[@title='Contact Us']/@url}

Sample XSLT code below:
<xsl:if test="//web/menu[@title = 'Contact Us']">
      <a href="{$virtualFolderPath}{//web/menu[@title='Contact Us']/@url}" class="dropdown-toggle main-links">Contact Us</a>

Problem Statement:

If link is full link like:
then href link become
as path in
{$virtualFolderPath} is /b2c

How should I fix so that if URL starts from
then do not add my path:
and URL should be direct

Please guide.
I receive "Invalid argument supplied for foreach()" when I am parsing an XML file.  The program goes ahead and parses out the data, but I need to understand the warning, then do what is needed to get rid of it.  My code is below.  It is the second 'foreach' that throws the warning (5th line).

Any help will be much appreciated!

foreach($data->STRUCTURES->ROOF as $roofingItem) {
while($i <= $count) {
      foreach($data->STRUCTURES->ROOF[$i]->LINES->LINE as $lineitem) {
            if($type == "VALLEY") {
                  $valley=$valley + $data->STRUCTURES->ROOF[$i]->LINES->LINE[$ii]['length'];
            if($type == "RIDGE") {
                  $ridge=$ridge + $data->STRUCTURES->ROOF[$i]->LINES->LINE[$ii]['length'];
            if($type == "Eave") {
                  $eave=$eave + $data->STRUCTURES->ROOF[$i]->LINES->LINE[$ii]['length'];
            if($type == "Rake") {
                  $rake=$rake + $data->STRUCTURES->ROOF[$i]->LINES->LINE[$ii]['length'];
            if($type == "Flashing") {
                  $flashing=$flashing + $data->STRUCTURES->ROOF[$i]->LINES->LINE[$ii]['length'];
            if($type == "StepFlash") {
                  $stepflash=$stepflash + $data->STRUCTURES->ROOF[$i]->LINES->LINE[$ii]['length'];
            if($type == "HIP") {
                  $hip=$hip + $data->STRUCTURES->ROOF[$i]->LINES->LINE[$ii]['length'];
I am using PDFParser (https://www.pdfparser.org/documentation). I understand that it builds upon TCPDF library and both the PDF Parser and TCDF provide examples.  Does anyone know where I can find a more complete manual ??  I am really looking for a PDF parser to XML format using PHP 5X
Thank you.

I wanted to add param in xsl:attribute in XSLT

My code is as below:

 <xsl:param name="virtualFolderPath" select="'/xyz'"/>

<xsl:attribute name="src">
    <xsl:value-of select="ThumbImageHomePage"/>

Open in new window

I wanted to add value of param 'virtualFolderPath' before
 <xsl:value-of select="ThumbImageHomePage"/>

I tried many ways its not working.

I tried following ways. Nothing works.
 Please advise the solution.

1. <xsl:value-of select="concat(virtualFolderPath, ThumbImageHomePage)"/>

  2.   <xsl:param name="name" select="virtualFolderPath"></xsl:param>
<xsl:value-of select="ThumbImageHomePage"/>

3.  <xsl:with-param name="with" select="virtualFolderPath" />
                  <xsl:value-of select="ThumbImageHomePage"/>

Open in new window

I using localhost, Win 10 and have Java 13.0.1 64 bit installed, and have both IIS and Wampserver (both have different listening ports.) installed.
I am trying to convert PDF to XML and found a great snippet of coding at the following url:

Open in new window

The problem I am having is the with the com.lowagie.text-2.1.7 jar file from the following url:

Open in new window

It gives me the error -  see below attached screenshot  : no main manifest attribute in c:\wamp\www\PDFConvert\com.lowagie.text-2.1.7 jar
How can I fix this ?? I have also emailed the developer of the code to inquire as if I am using the right package and believe that I am because of
"lowagie" being part of the handlers.
Any help/guidance would be appreciated...
I need to programmatically convert pdf files to XML to be able to extract data and insert into a database.
I have researched and seen many examples.
My environment is: I am developing using localhost, I have Java 13.0.1 installed , I have set the java bin path in environment variable (rebooted afterwards). I have both inetpub and wampserver installed (listening on different ports) and have successfully compiled java classes (beginners examples) on my computer.
I found this coding (listed below) at: https://stackoverflow.com/questions/16936013/java-code-for-pdf-to-xml-conversion.

I am not very skilled at Java. I compiled the class  at the cmd line: javac c:\wamp\www\PDFConvert\ConvertPDFToXML.java and receive the errors (36 of them!). The errors are concern with the first 3 lines after the public class declaration  - static StreamResult streamResult;  static TransformerHandler handler; static AttributesImpl atts;
The errors are  "cannot find static streamResult steamResult" ; "cannot find static streamResult TransformerHandler " ;"cannot find static streamResult AttributesImpl " for each time the above 3 appeared in the coding.
SO I decided to add the following code to the top of the coding:
import java.util.stream;
import javax.xml.transform.sax;
import org.xml.sax.helpers;

Open in new window

That just resulted in producing same type of errors for those lines.
I have attached a screenshot of the errors.
Could someone be as so kind as to help and educate me in what…
Hi Bash experts,

Trying to parse multiple xml files in a directory.
Extract an attribute value from available xml files. e.g liferay-version=""
sort them and get the greatest value from the identified list. e.g "" and store them in a variable

Was trying using python, but due to restriction on my work server. couldn't install additional packages, so couldn't use python.

Is it possible using sed/awk/bash or any way please.

<?xml version="1.0" encoding="utf-8"?>
<package date-created="26/11/2019" liferay-version="" patch-version="5.0">
  <description />
  <system />

Open in new window

<?xml version="1.0" encoding="utf-8"?>
<package date-created="26/11/2019" liferay-version="" patch-version="6.0">
  <description />
  <system />

Open in new window

<?xml version="1.0" encoding="utf-8"?>
<package date-created="26/11/2019" liferay-version="" patch-version="7.0">
  <description />
  <system />

Open in new window

<?xml version="1.0" encoding="utf-8"?>
<package date-created="26/11/2019" liferay-version="" patch-version="8.0">
  <description />
  <system />

Open in new window

I have to code a c# solution to convert a txt file to xml using vs 2017.

What is the best way to do this task
I have my code in C# to create the outershell of the file I need(QBXML).
I then have it call my function to query SQL and get the info that need to go inside of it under the <QBXMLMsgRq> element

The first part creates this -
<?xml version="1.0"?>
<?qbxml version="13.0"?>
  <QBXMLMsgsRq onError="stopOnError" />

Open in new window

Then it called my "BuildCustomerAddRq"

Which is this
 void BuildCustomerAddRq(XmlDocument doc, XmlElement parent)

            string ConString = "Data Source=;Initial Catalog=OCITIME;User ID=ocisql;Password=Emagdne1212";
            string CmdString = "select employee_name as Name ,'OCI Associates' as [CompanyName],'Mr' as Salutation , LEFT(employee_name, CHARINDEX(' ', employee_name + ' ') - 1) as FirstName,  REVERSE(LEFT(REVERSE(employee_name),    CHARINDEX(' ', REVERSE(employee_name)) - 1)) AS LastName   from EMPLOYEELIST for xml raw('CustomerAdd') , ROOT('CustomerAddRq'), ELEMENTS";

            SqlConnection con;
            SqlCommand cmd;
            XmlReader reader;
            XmlDocument xmlDoc;

            using (con = new SqlConnection(ConString))
                cmd = new SqlCommand(CmdString, con);
                reader = cmd.ExecuteXmlReader();

                while (reader.Read())

Open in new window

I am using XML in vba but not sure how to represent the following code:

<InstdAmt Ccy="CHF">15.00</InstdAmt>

I am currently using:

 Set NodeAmt = doc.createNode(NODE_ELEMENT, "Amt", nmsp)
 NodeCdtTrfTxInf.appendChild NodeAmt

          Set NodeInstdAmtCcy = doc.createNode(NODE_ELEMENT, "InstdAmtCcy", nmsp)
          NodeAmt.appendChild NodeInstdAmtCcy
          NodeInstdAmtCcy.Text = Nz(rst!Ccy)

          Set NodeInstdAmt = doc.createNode(NODE_ELEMENT, "InstdAmt", nmsp)
          NodeAmt.appendChild NodeInstdAmt
          NodeInstdAmt.Text = rst!PayAmt

which obviously is wrong. Any help is really greatly appreciated... Thanks Michael
<xsl:stylesheet version="1.0"
  <xsl:output method="xml"/>

  <xsl:template match="/">
      <xsl:variable name="v">
        <xsl:call-template name="HelloWorld"/>
      <xsl:variable name="x" select="v/*[position() != last()]"/>
      <xsl:copy-of select="$x"/>          

  <xsl:template name="HelloWorld">
    <p>Hello world!</p>

Open in new window

I'm trying to strip off the "5" which is appended to the end. My desired output is
<?xml version="1.0" encoding="utf-8"?><html><body><p>Hello world!</p></body></html>

Open in new window

and I would also like to get that "5" into a variable.

The debugger shows variable v is:

Debugger outputand variable x is empty (my select isn't working).

Update: I see I forgot the $. Change that line to:
<xsl:variable name="x" select="$v/*[position() != last()]"/>

Open in new window

and now I get an exception which says, "To use a result tree fragment in a path expression, first convert it to a node-set using the msxsl:node-set()". Great. (I actually used to know this stuff a few years ago! I've forgotten it all! How do I convert this to a node-set?)
Convert Recursive XSLT to avoid stack overflow (part 2)

Continuing from my previous question "Convert Recursive XSLT to avoid stack overflow"
(see my comment there for why the answer still turned out to have stack overflow problems.)

I have a new test XSLT transform:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
    <xsl:strip-space elements="*"/>
    <xsl:output method="text"/>
  E encloses our set of elements
  select="following-sibling::*[1]" gives us the next node in the list
  We call apply-templates passing (@pos + 1) or ($next + @nsize), asking it to process the next node in our E list (select="following-sibling::*[1]")

If the next node is a "D" node,
      1. Output any empty slots not accounted for prior to this D slot, which is at position @pos
      2. Output this D slot
      3. Check if we are at the end of the list, and if we are, output any remaining empty slots not accounted for (from our current position+1 to max)
If the next node is a "B" node,
      1. new-next is the next slot after this B node
      2. Output this B node and the slots it covers
      3. Perform the same "check if we are at the end of the list, and if we are, output any remaining empty slots"

    <xsl:template match="E"><!-- E encloses our set of emelents -->
      <xsl:apply-templates select="." 

Open in new window

(EE doesn't seem to have an XSLT topic. Hope XML is close enough.)

I have an input which looks something like this:
<?xml version="1.0" encoding="UTF-8"?>
  <E count="17">
    <D pos="1"></D>
    <D pos="2"></D>
    <D pos="3"></D>
    <D pos="5"></D>
    <B nsize="5"></B>
    <D pos="11"></D>
    <B nsize="2"></B>
    <B nsize="3"></B>

Open in new window

The idea is the E element has a total count which is the total number of slots it has. Each element has a position. D elements take up one slot. In this example, we have D elements for positions 1,2,3,5. Note position 4 is missing.

Then we also have B elements which take up several slots. The size of the B element is given (how many slots it takes up).

The output from the XSLT transformation covers all the slots and tells us what is in each slot. It looks something like this:
1 D 
2 D 
3 D 
4 empty 
5 D 
6 - 10 B 
11 D 
12 - 13 B 
14 - 16 B 
17 empty 

Open in new window

This shows:
slot 1 has a D
slot 2 has a D
slot 3 has a D
slot 4 is empty
slot 5 has a D
slots 6-10 are occupied by a B
slot 11 has a D
slots 12-13 are occupied by a B
slots 14-16 are occupied by a B
slot 17 is empty.

I have a recursive XSLT transformation that can handle this for small number of slots. It just keeps calling itself recursively until done. Only problem is for large number of slots, the call stack eventually overflows with recursive calls.

<?xml version="1.0" encoding="utf-8"?>

Open in new window

I am moving to Access 2019 from Access 2010.  Initially I had a problem with hiding the ribbon on opening because it seems that the technique used in 2010 no longer works.  
I have now successfully hidden the ribbon when opening the application by using a commend in an AutoExec macro.
That is working fine.

But now testing in more detail I have a problem with my reports.  I currently have a custom tool defined for all my reports.  All this does is to show the Close button and the Print dialogue button at the top.

It seems that these are no longer supported because the buttons are no longer displayed when running the application in Access 2019.

I have done some research and it looks like I will need to create a custom ribbon and call that from each Report.  This requires coding in xml which I will have to mug up on because I have never done that before.

My question is - is this the way that this should be done?  Any tips to make this simple?

Or is it easier to just add two separate buttons to the footer of each report (although this would be more work because each report would have to be editted.

Advice will be very welcome.


I have to setup Office 365 ProPlus on a new 2019 Remote Desktop Server. I have successfully setup the RDS and am able to log into it with my users. Now I need to install Office365 for my users. I have downloaded the ODT and created a folder under C:\Office for my install files to go.

My configuration file is as follows:
  <Add SourcePath=C:\Office OfficeClientEdition=32>
  <Add OfficeClientEdition="32" Channel="Monthly">
    <Product ID="O365ProPlusRetail">
      <Language ID="en-us" />
    <Product ID="VisioProRetail">
      <Language ID="en-us" />

After running the command setup.exe /download downloadconfiguration-Office365-x86.xml I get the following error:

Error message
It appears that it creates the "Office" folder in the correct place but does not download any files. What could I be doing wrong? I have internet and connectivity. My issue is clearly something with the xml file as far as I can see.
I have spent weeks trying to customize the Windows 10 start menu and task bar using the LayoutModificationTemplate xml as referenced here: https://docs.microsoft.com/en-us/windows/configuration/configure-windows-10-taskbar#sample-taskbar-configuration-added-to-start-layout-xml-file

Everything is working except for the taskbar layout part. Here is the XML I am using. Does anyone see a problem?

	xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" 
  <LayoutOptions StartTileGroupCellWidth="6" />
      <defaultlayout:StartLayout GroupCellWidth="6" />
  <CustomTaskbarLayoutCollection PinListPlacement="Replace">
          <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
		  <taskbar:DesktopApp DesktopApplicationLinkPath="%ProgramData%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />

Open in new window

Hi all,

I have a customer who want's to send us PO's in cXML format via their portal from Coupa. My problem is - that I do not know how to set up a service that can receive these XML-files over HTTPS.

We are running a Windows environment with the possibility to set up a IIS (if that's any help).

This is what they need to fill out from the customers end:
I am also willing to use a 3. party software which can do the job.

I have never done this before - so I kinda need a newbie guide for the best solution.
I hope you do understand my question - and even better - can help me :-D


I need XML code to be used in a ms-access RIBBON:

I have created the following using IDBE RibbonCreator 2016, but it is created by Grouping.  I need just a drop-down menu as a in the Old Windows style.

<!-- Created with IDBE RibbonCreator 2016 (Version: 1.1006e) -->
<!--                 http://www.RibbonCreator2016.de                -->

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="OnRibbonLoad" loadImage="LoadImages">
  <ribbon startFromScratch="true">
      <tab id="tabMasterFiles" label="MASTER FILES" getVisible ="GetVisible" tag = "RibbonName:=EurekaRibbon;CustomTagValue1:=;CustomTagValue2:=;CustomTagValue3:=" > 
        <group id="grpCustomers" autoScale="false" centerVertically="false" label="Customers" getVisible ="GetVisible" tag = "RibbonName:=;inMenu:=;CustomTagValue1:=;CustomTagValue2:=;CustomTagValue3:=;CustomPicture:=;CustomPicturePath:=" >
          <button id="btnAddEditCustomer" size="large" label="Add/Edit Customer" screentip="Add or Edit Customer(s)." supertip=" " getImage="GetImages" tag="RibbonName:=EurekaRibbon;inMenu:=;CustomTagValue1:=;CustomTagValue2:=;CustomTagValue3:=;CustomPicture:=Customers.png;CustomPicturePath:=C:\EUREKA\Pictures\NewIcons\" onAction="OnActionButton" getVisible="GetVisible" getEnabled="GetEnabled" />
          <button id="btnCustomersList" size="normal" label="Customers List" screentip="See the list of customers or find a customer." supertip=" " …
I am trying to send race results to race finishers in classic asp and my script keeps timing out.  I have my Server.ScriptTimeOut set plenty high.  (note that I just added the xmlhttp.SetTimeOuts)  Not sure if I have the other timeout set correctly.  Can someone look at the following code and let me know what changes might help please?  Thans!

Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
    .Item(cdoSendUsingMethod) = cdoSendUsingPort
    .Item(cdoSMTPServer) = "smtp.mandrillapp.com"
    .Item(cdoSMTPAuthenticate) = 1
    .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
    .Item(cdoSendUsername) = "username"
    .Item(cdoSendPassword) = "pwd"
End With

    bSentBCC = False

	For j = 0 To UBound(SendTo) - 1
		'get email address
		sMyEmail = vbNullString
		If DontSend(SendTo(j)) = False Then sMyEmail = SendTo(j)

		If Not sMyEmail = vbNullString Then
			If ValidEmail(sMyEmail) = True Then
                sPageToSend = "http://www.gopherstateevents.com/misc/pix-vids_notif.asp?event_id=" & lEventID 

                Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
	                xmlhttp.open "GET", sPageToSend, false
                    xmlHttp.SetTimeouts 0, 60000, 300000, 300000
	                xmlhttp.send ""
	                EmailContents = xmlhttp.responseText

Open in new window

trying to figure out how to modify an xml version 1.0 script to allow several files to be picked up by an ftp server. We have a current script in place that was created many years ago.. we haven't have to change it but now have the need.
Here is the script below... what I am trying to do is get the last documents (pull file 3 and 4) to actually recognize and pull the files. The file names are also listed below...

<?xml version="1.0" encoding="utf-8" ?>

NOTE: CU Contact Info


 <!-- NOTE: ftp dirs lowercased-->


        <add key="archiveDays" value="60"/>
        <add key="archiveDirectory" value="archive"/>

      <!-- FTP Server INfo -->
        <add key="FTPServer" value="" />
        <add key="FTPUN" value="confidential" />
        <add key="FTPPwd" value="confidential" />
        <add key="FTPPort" value="22" />

        <!-- Log file info -->
        <add key="LogFile" value="\\blgappserv1\infinity\CreditUnionFTP\work\logs\BLGFeed.log"/>

        <!-- To/From paths-->
        <!-- <add key="networkRootDirectory" value="P:\PCFS\" /> -->
        <add key="networkRootDirectory" value="\\blgdcserv1.blg.local\data\PCFS\" />
        <add key="networkSourceDirectory" value="Exports" />
        <add key="networkDestinationDirectory" value="Imports" />

        <add key="ftpSourceDirectory" value="export" />
        <add key="ftpDestinationDirectory" value="import" />

I am trying to send http requests to the API provided by HelloSign.com........To test what I was doing, I used Git BASH, and the following command completed correctly (I have changed the key and some of the user / document information, but the syntax is exactly as I sent it):

curl -u "9Ca9C0972a4e1ae439Cee8e5d54CCa881031ba247e085807a847aa86Ca080d6a:" "https://api.hellosign.com/v3/signature_request/send" -F "title=rjr.docx" -F "subject=Rick's Test Document" -F "message=Please sign this contract" -F "signers[0][email_address]=rrudolph@test.com" -F "signers[0][name]=Rick Rudolph" -F "file[0]=@c:/docpath/rjr.docx" -F "test_mode=1"

I opened up a VBA module, and set a reference to the Microsoft XML 6.0 library. Then I tried the following:

Public Function TestAPI()

Dim StrAPI As String
Dim request As MSXML2.ServerXMLHTTP60
StrAPI = " -u '9Ca9C0972a4e1ae439Cee8e5d54CCa881031ba247e085807a847aa86Ca080d6a:' 'https://api.hellosign.com/v3/signature_request/send' -F 'title=rjr.docx' -F 'subject=Rick's Test Document' -F 'message=Please sign this contract' -F 'signers[0][email_address]=rrudolph@test.com' -F 'signers[0][name]=Rick Rudolph' -F 'file[0]=@c:/docpath/rjr.docx' -F 'test_mode=1'"
Set request = New ServerXMLHTTP60
request.Open "Post", StrAPI, False
Debug.Print request.StatusText

End Function

This code created an error at :  request.Open "Post", StrAPI, False

The error was:
runtime error '-2147012890 (80072ee6)
System error: -2147012890







Extensible Markup Language (XML) refers to the encoding of documents such that they can be read by both machines and humans. XML documents use tags to show the beginning and end of a set of data. XML is used extensively on websites to show volumes of data, and is the default for a number of office productivity suites. This topic includes discussions of XML-related technologies, such as XQuery (the XML Query language), XPath (the XML Path language), XSLT (eXtensible Stylesheet Language Transformations), XLink (the XML Linking language) and XPointer (the XML Pointer language).