Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
呃,书面删除() $xmlWriter.WriteEndDocument() $xmlWriter.Flush() $xmlWriter.Close() 您找到解决方案了吗?我正在研究相同的问题,到目前为止还没有找到任何能够创建OFX文件的.net库。您找_Xml_Powershell_Sgml - Fatal编程技术网

呃,书面删除() $xmlWriter.WriteEndDocument() $xmlWriter.Flush() $xmlWriter.Close() 您找到解决方案了吗?我正在研究相同的问题,到目前为止还没有找到任何能够创建OFX文件的.net库。您找

呃,书面删除() $xmlWriter.WriteEndDocument() $xmlWriter.Flush() $xmlWriter.Close() 您找到解决方案了吗?我正在研究相同的问题,到目前为止还没有找到任何能够创建OFX文件的.net库。您找,xml,powershell,sgml,Xml,Powershell,Sgml,呃,书面删除() $xmlWriter.WriteEndDocument() $xmlWriter.Flush() $xmlWriter.Close() 您找到解决方案了吗?我正在研究相同的问题,到目前为止还没有找到任何能够创建OFX文件的.net库。您找到解决方案了吗?我正在研究相同的问题,到目前为止还没有发现任何.net库能够提供创建OFX文件的功能。 OFXHEADER:100 DATA:OFXSGML VERSION:102 SECURITY:NONE ENCODING:USASCII

呃,书面删除() $xmlWriter.WriteEndDocument() $xmlWriter.Flush() $xmlWriter.Close()
您找到解决方案了吗?我正在研究相同的问题,到目前为止还没有找到任何能够创建OFX文件的.net库。您找到解决方案了吗?我正在研究相同的问题,到目前为止还没有发现任何.net库能够提供创建OFX文件的功能。
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:
NEWFILEUID:

<OFX>
  <SIGNONMSGSRSV1>
    <SONRS>
      <STATUS>
        <CODE>0
        <SEVERITY>INFO
        <MESSAGE>OK
      </STATUS>
      <DTSERVER>2007126895412
      <USERKEY>20075698742365
      <LANGUAGE>ENG
      <INTU.BID>00004
    </SONRS>
  </SIGNONMSGSRSV1>
  <CREDITCARDMSGSRSV1>
    <CCSTMTTRNRS>
      <TRNUID>12345678
      <STATUS>
        <CODE>0
        <SEVERITY>INFO
        <MESSAGE>OK
      </STATUS>
      <CCSTMTRS>
        <CURDEF>GBP
        <CCACCTFROM>
           <ACCTID>12345678
        </CCACCTFROM>
        <BANKTRANLIST>
          <DTSTART>20191201
          <DTEND>20201231
          <STMTTRN>
            <TRNTYPE>CREDIT
            <DTPOSTED>20200408
            <TRNAMT>11.98
            <REFNUM>000173160-0000810
            <FITID>000173160-0000810
            <NAME>FBAAMZUK
            <MEMO>CHK
            <CHECKNUM>000173160-0000810
          </STMTTRN>
          <STMTTRN>
            <TRNTYPE>CREDIT
            <DTPOSTED>20200408
            <TRNAMT>6.99
            <REFNUM>000173160-0000968
            <FITID>000173160-0000968
            <NAME>FBAAMZUK
            <MEMO>CHK
            <CHECKNUM>000173160-0000968
          </STMTTRN>
          <STMTTRN>
            <TRNTYPE>CREDIT
            <DTPOSTED>20200408
            <TRNAMT>50.00
            <REFNUM>0123-0123
            <FITID>0123-0123
            <NAME>FBAAMZUK
            <MEMO>TEST
          </STMTTRN>
        </BANKTRANLIST>
        <LEDGERBAL>
          <xBALAMT>0.00
          <BALAMT>18.97
          <DTASOF>20200414
        </LEDGERBAL>
        <AVAILBAL>
          <xBALAMT>0.00
          <BALAMT>-4323.81
          <DTASOF>20200414
        </AVAILBAL>
      </CCSTMTRS>
    </CCSTMTTRNRS>
  </CREDITCARDMSGSRSV1>
</OFX>
    $Path = "C:\scripts\TEST.xml"

#SQL Connection
$sqlConn = New-Object System.Data.SqlClient.SqlConnection
$sqlConn.ConnectionString = “Server=xxxxxx;Integrated Security=true;Initial Catalog=master”
$sqlConn.Open()

#SQL Command
$sqlcmd = $sqlConn.CreateCommand()
$sqlcmd = New-Object System.Data.SqlClient.SqlCommand
$sqlcmd.Connection = $sqlConn

#SQL query
$query = “SELECT 
payments.[order-id],
payments.[settlement-id],
replace(convert (date, payments.[posted-date],103),'-','') AS [posted-date],
payments.[transaction-type],
payments.[marketplace-name],

SUM (CAST(payments.amount AS money)) AS amount

FROM xxxxxx.dbo.PAYMENTS
where [amount-type] <> 'ItemFees' AND ([transaction-type] = 'Order' OR [transaction-type] = 'Refund')

GROUP BY [order-id], [settlement-id],[posted-date],[transaction-type],[marketplace-name]”

$sqlcmd.CommandText = $query

#SQL adapter
$adp = New-Object System.Data.SqlClient.SqlDataAdapter $sqlcmd

#Get data and fill data set
$data = New-Object System.Data.DataSet
$adp.Fill($data) | Out-Null
$dataSet = $data.Tables[0]
$sqlConn.Close()

# get an XMLTextWriter to create the XML
$XmlWriter = New-Object System.XMl.XmlTextWriter($Path,$Null)

# XML formatting
$xmlWriter.Formatting = 'Indented'
$xmlWriter.Indentation = 1
$XmlWriter.IndentChar = "`t"

# write the header
$xmlWriter.WriteStartDocument()

# set XSL statements
$xmlWriter.WriteProcessingInstruction("xml-stylesheet", "type='text/xsl' href='style.xsl'")

# create root element "OFX" and add some attributes to it

$xmlWriter.WriteStartElement('OFX')

$xmlWriter.WriteStartElement('SIGNONMSGSRSV1')

$xmlWriter.WriteStartElement('SONRS')

$xmlWriter.WriteStartElement('STATUS')
$XmlWriter.WriteElementString('CODE', '0')
$XmlWriter.WriteElementString('SEVERITY', 'INFO')
$XmlWriter.WriteElementString('MESSAGE', 'OK')
$xmlWriter.WriteEndElement()

$XmlWriter.WriteElementString('DTSERVER', '2007126895412')
$XmlWriter.WriteElementString('USERKEY', '20075698742365')
$XmlWriter.WriteElementString('LANGUAGE', 'ENG')
$XmlWriter.WriteElementString('INTU.BID', '00004')

$xmlWriter.WriteEndElement()

$xmlWriter.WriteEndElement()

$xmlWriter.WriteStartElement('CREDITCARDMSGSRSV1')

$xmlWriter.WriteStartElement('CCSTMTTRNRS')
$XmlWriter.WriteElementString('TRNUID', '12345678')

$xmlWriter.WriteStartElement('STATUS')
$XmlWriter.WriteElementString('CODE', '0')
$XmlWriter.WriteElementString('SEVERITY', 'INFO')
$XmlWriter.WriteElementString('MESSAGE', 'OK')
$xmlWriter.WriteEndElement()

$xmlWriter.WriteStartElement('CCSTMTRS')
$XmlWriter.WriteElementString('CURDEF', 'GBP')

$xmlWriter.WriteStartElement('CCACCTFROM')
$XmlWriter.WriteElementString('ACCTID', '12345678')
$xmlWriter.WriteEndElement()

$xmlWriter.WriteStartElement('BANKTRANLIST')
$XmlWriter.WriteElementString('DTSTART', '20191201')
$XmlWriter.WriteElementString('DTEND', '20201231')

foreach ($row in $dataSet)
{ 

$order_id = $row.'order-id'
$amt = $row.amount
$dateP = $row.'posted-date'

$xmlWriter.WriteStartElement('STMTTRN')
$XmlWriter.WriteElementString('TRNTYPE', 'CREDIT')
$XmlWriter.WriteElementString('DTPOSTED', $dateP)
$XmlWriter.WriteElementString('TRNAMT', $amt)
$XmlWriter.WriteElementString('REFNUM', $order_id)
$XmlWriter.WriteElementString('FITID', '000173160-0000810')
$XmlWriter.WriteElementString('NAME', 'FBAAMZUK')
$XmlWriter.WriteElementString('MEMO', 'CHK')
$XmlWriter.WriteElementString('CHECKNUM', '000173160-0000810')
$xmlWriter.WriteEndElement()
}

$xmlWriter.WriteEndElement()

$xmlWriter.WriteStartElement('LEDGERBAL')
$XmlWriter.WriteElementString('xBALAMT', '0.00')
$XmlWriter.WriteElementString('BALAMT', '18.97')
$XmlWriter.WriteElementString('DTASOF', '20200414')
$xmlWriter.WriteEndElement()

$xmlWriter.WriteStartElement('AVAILBAL')
$XmlWriter.WriteElementString('xBALAMT', '0.00')
$XmlWriter.WriteElementString('BALAMT', '-4323.81')
$XmlWriter.WriteElementString('DTASOF', '20200414')
$xmlWriter.WriteEndElement()


$xmlWriter.WriteEndElement()

$xmlWriter.WriteEndElement()

$xmlWriter.WriteEndElement()

$xmlWriter.WriteEndElement()

$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()