|
|
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
надо передать в String.Split separator separator читается из XML файла. Там он указан как \t C# видит его как "\\t". Есть какая нибудь встроенная функция по преобразованию String "\\t" в Char '\t' ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 15:30 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
dburtsev1C# видит его как "\\t"это дебаггер так видит. на самом деле "\t" Код: c# 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 15:40 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
XML файл создаётся утилитой bcp (SQL Server) bcp Database.dbo.table format nul -c -x -f formatfile.xml -T -S"SQLServerName" -t"\t" в результате получается такая строка <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="12"/> потом этот файл читается функцией TSQL OPENROWSET BULK FORMATFILE = 'formatfile.xml' и программой на C# при помощи XmlDocument string termstr = currNode.ChildNodes[i].Attributes["TERMINATOR"].Value; char fldTerminator; if (termstr.Equals("\\t")) { fldTerminator = '\t'; } ... string line; string[] rowStr = line.Split(fldTerminator); попробовал char c = termstr[0]; получил '\\' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 17:29 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
dburtsev1XML файл создаётся утилитой bcp (SQL Server) bcp Database.dbo.table format nul -c -x -f formatfile.xml -T -S"SQLServerName" -t"\t"А зачем тебе опция -t если уже есть -с? И вообще, ты уж реши себе толи ты хочешь файл с полями разделенными табом или xml. Это два принципиально разных формата. Если есть разделитель полей - нету xml-ных скобок вокруг полей. Если есть xml - то не нужны разделители. dburtsev1в результате получается такая строка <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\t" MAX_LENGTH="12"/>Ну это описание поля, а данные как выглядят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 18:01 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
Дано: приходят текстовые файлы с данными и FORMATFILE к ним. Т.е. как минимум 2 файла. см. синтаксис функции OPENROWSET >А зачем тебе опция -t если уже есть -с? Потому, что для разных типов файлов бывает разный -t >Ну это описание поля, а данные как выглядят? данные - текстовый файл с разделителем. Иногда разделитель \t, иногда | C | проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 18:32 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
угу. Кажется въехал. bcp тут не при чем, MS SQL тоже не при чем. Не путай людей лишней информацией. Дано: текстовый файл в котором записаны два символа: "\t" Ты их читаешь как строку и ожидаешь что функция чтения произведет конвертацию этих двух символов в один символ. Нет, функции чтения файла (и расшифровки xml) не делают такую конвертацию. Код который ты уже показал: Код: c# 1. 2. 3. 4. 5. 6. Правильный и наиболее эффективный. Как вариант, можно сделать: Код: c# 1. Это (в принципе) должно спасти от всех символов заданных через \, а не только от \t как в твоем примере. Но твой ответ будет работать чуть-чуть быстрее чем полноразмерный String.Format. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 20:28 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
Была надежда, что можно как то через GetUnicodeCategory и/или char.IsControl... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 20:44 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
dburtsev1Была надежда, что можно как то через GetUnicodeCategory и/или char.IsControl...Оставь эту надежду. \t в xml-файле это строка из двух символов. Это строка а не буква. Это не один символ, это два символа. В файле записано два байта а не один. Два байта не могут быть записаны в char (если это конечно не мульти-байтовая кодировка, но в данном случае это не так). Какими еще словами это сказать чтобы проняло? :) Чтобы получить в итоге один объект типа сhar, надо взять объект типа string и расшифровать. Процесс расшифровки обязателен, где-то он должен произойти. И если он не встроен в XmlDocument (а ты уже экспериментальным путем увидел что такой расшифровки не происходит), значит надо ее делать вручную поверх XmlDocument и его под-объектов. Самый простой способ это String.Format() или примитивный =="\\t". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 21:13 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
White Owldburtsev1Была надежда, что можно как то через GetUnicodeCategory и/или char.IsControl...Оставь эту надежду. \t в xml-файле это строка из двух символов. Это строка а не буква. Это не один символ, это два символа. В файле записано два байта а не один... это не вседа так. Просто для данного случая встроенной функции преобразования не существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2013, 21:20 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
dburtsev1\t в xml-файле это строка из двух символов. Это строка а не буква. Это не один символ, это два символа. В файле записано два байта а не один... это не вседа так. [/quot]Приведи пример когда это не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 18:31 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
dburtsev1, запиши в xml а не \t ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2013, 00:09 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
fixxerdburtsev1, запиши в xml а не \t Код: sql 1. парсер съел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2013, 00:11 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
fixxerfixxerdburtsev1, запиши в xml а не \t Код: sql 1. парсер съел Код: sql 1. "Поспешишь - людей насмешишь" (с) народная мудрость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2013, 09:06 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
White Owl Приведи пример когда это не так.[/quot] bcp database.dbo.table format nul -c -x -f bcpTest.xml -T -S"Server" -t"|" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 20:48 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
fixxer, bcp database.dbo.table format nul -c -x -f bcpTest.xml -T -S"Server" -t" " получаем в файле: <RECORD> <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="	" MAX_LENGTH="12"/> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 20:57 |
|
||
|
Как преобразовать строку "\t" в char '\t'
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 21:03 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38239200&tid=1341821]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
433ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 780ms |

| 0 / 0 |
